5

是否有一些支持单声道 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)

我确定这是因为单声道 android 程序集与其他程序集不兼容......
所以我的问题:如何让它工作?或者也许还有其他一些用于单声道 android 应用程序的单元测试框架?

UPD:此问题的解决方法。
因为我只需要测试平台独立模型,所以我只是创建了单独的“代理”Windows 类库项目,并将我的 Mono for Android 类库中的模型类链接添加到其中(项目 => 添加现有项目... => [选择所有应作为链接添加的文件] => 添加为链接)。
因此,我收到了与任何包含应测试的类的单元测试框架程序集兼容。

4

3 回答 3

3

如果您正在寻找在 Mono for Android 下运行 Visual Studio 单元测试,我已经为此编写了一个兼容层和一个 GUI。

在这里查看

测试概述 测试详情

于 2012-07-09T11:33:56.277 回答
1

如果您希望在设备上(或在模拟器内)运行单元测试,那么您应该查看Andr.Unit Mono for Android test runner for NUnitLite (0.6)。它与 Touch.Unit (iOS) 相似(相同的 UI 和 NUnitLite 版本),即使它(当前)在功能方面有点落后(没有网络日志记录)。

免责声明:我写了跑步者

于 2011-11-02T23:46:40.077 回答
0

如果要从 Mono for Android 或 MonoTouch 或 Silverlight 应用程序中引用程序集,则必须使用也已针对同一配置文件编译的程序集。

这是 2.0.5.0 配置文件。

于 2011-04-19T14:36:51.750 回答