我花了太多时间尝试在Microsoft Store应用程序上运行基本的NUnit测试。我在VS2015 Pro上安装了NUnit v3.0.1和NUnit3TestAdapter但是我得到以下内容以确认没有发现测试:
------ Discover test started ------
NUnit Adapter 3.0.8.0 discovering tests is started
Exception NUnit.Engine.NUnitEngineException, Exception thrown discovering tests in <project exe file>
The NUnit 3.0 driver does not support the portable version of NUnit. Use a platform specific runner.
NUnit Adapter 3.0.8.0 discovering test is finished
========== Discover test finished: 0 found (0:00:01.0639991) ==========
引用的NUnit.Engine.NUnitEngineException错误没有帮助,因为无法探索程序中异常的位置。测试是一个带有一个Assert语句的方法,只是为了测试设置是否有效,所以没有什么复杂的。我也不明白什么是特定于平台的跑步者&#34;是。我通过NuGet包管理器安装了NUnit和NUnit3TestAdapter,我假设相关平台和版本的安装都已完成。
我甚至尝试过为Visual Studio安装&#34; NUnit模板&#34;。这使我能够创建一个NUnit项目,有趣的是,NUnit项目中的测试被发现并运行。但缺点是我无法从工作的NUnit项目中引用我的UWP应用程序项目,我认为因为NUnit项目仅支持.Net框架(最多4.6.1)而不支持Windows 10平台。
我以前在非UWP应用程序中使用过NUnit而没有太多麻烦。我错过了什么或者NUnit还没有支持UWP应用程序吗?
答案 0 :(得分:1)
目前您只能使用XUnit测试DNX项目 Here是一个很好的起点。
来自官方Asp.Net 5 documentation(使用与UWP相同的基础设施):
例如,要使用xUnit测试框架,您可以 按如下方式配置依赖项:[example project.json我不这样做 想复制]
随着其他测试框架发布对DNX的支持,我们 将在这里链接到他们。
由于文档中没有其他框架链接,我认为目前没有任何框架支持DNX项目。
答案 1 :(得分:1)
由于此问题最初发布,因此NUnit开发了它对测试UWP / Xamarin应用程序的支持。查看nunit.xamarin参赛者。
基本上,您的测试应该在可移植库或共享项目中创建。然后可以通过UWP项目运行器引用它,该运行器可以在模拟器上运行。
如果采用共享项目方法,您还可以通过.NET 4.5项目引用它,这将允许您的测试与NUnit VS适配器集成,并显示在VS中。便携式库不能尚与此跑步者一起运行,但这已经在管道中。