有没有一些支持Mono Android应用程序的单元测试框架?我已经尝试了默认的Visual Studio测试框架和NUnit框架,但都没有成功。
我的最后一次尝试是:我创建了一个Mono Android类库,引用了nunit.framework,并编写了测试。但是当我尝试启动它们时,我遇到了异常:
System.TypeLoadException: Could not load type 'System.Runtime.Versioning.TargetFrameworkAttribute' from assembly 'mscorlib, Version=2.0.0.0'
堆栈跟踪:
Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at NUnit.Core.TestRunner.Load(TestPackage package)
at NUnit.Util.TestDomain.Load(TestPackage package)
at NUnit.Util.TestLoader.LoadTest(String testName)
我相信这是由于mono android程序集与其他程序集不兼容所致...那么我的问题是:如何使其正常工作?或者也许有一些其他的单元测试框架适用于mono android应用程序?
更新:此问题的解决方法。由于我只需要测试平台无关的模型,所以我创建了一个独立的“代理”Windows类库项目,并向其中添加了从我的Mono for Android类库(项目=>添加现有项...=>[选择所有要添加为链接的文件]=>添加为链接)中选择的模型类的链接。因此,我获得了与任何单元测试框架兼容的程序集,其中包含应该被测试的类。