我有3个项目的Xamarin解决方案:
>安卓
> iOS
>共享
共享是包含所有共享逻辑的共享项目.例如.使用sqlite-net访问数据库,使用restsharp进行rest调用.
我想测试“共享”中的代码.
我创建了一个NUnit库项目并在其中创建了一个测试.
现在,该项目无法编译,因为找不到共享项目所需的dll.
共享不直接引用这些dll.例如,Android项目引用了sqlitenet.dll的android版本.
如何测试共享代码?
解决方法:
共享项目只是链接文件的容器,或者换句话说,共享项目不直接具有任何引用,但可以获取引用它的项目的所有引用.
如果您有一个引用共享项目的iOS和Android项目,则要对所有可能的代码路径进行正确的单元测试,则需要引用共享项目并且还引用共享项目所需内容的android和iOS版本的单元测试项目. SqLite并定义任何需要的编译常量.
如果iOS和Android单元测试之间的代码部分相同(很可能是这样),那么您也可以使用共享项目来共享该代码.