C# VS2015上带有NUnit的单元测试UWP应用程序

C# VS2015上带有NUnit的单元测试UWP应用程序,c#,unit-testing,visual-studio-2015,nunit,uwp,C#,Unit Testing,Visual Studio 2015,Nunit,Uwp,我花了太多时间试图在微软商店应用程序上运行一个基本的NUnit测试。我在VS2015 Pro上安装了NUnit v3.0.1和NUnit3TestAdapter,但我得到了以下信息,确认没有发现测试: ----发现测试已启动------ NUnit适配器3.0.8.0发现测试已启动 异常NUnit.Engine.NUnitEngineeException,在中发现测试时引发异常 NUnit 3.0驱动程序不支持NUnit的便携式版本。使用特定于平台的转轮。 NUnit适配器3.0.8.0发现测试

我花了太多时间试图在微软商店应用程序上运行一个基本的NUnit测试。我在VS2015 Pro上安装了NUnit v3.0.1和NUnit3TestAdapter,但我得到了以下信息,确认没有发现测试:

----发现测试已启动------
NUnit适配器3.0.8.0发现测试已启动
异常NUnit.Engine.NUnitEngineeException,在中发现测试时引发异常
NUnit 3.0驱动程序不支持NUnit的便携式版本。使用特定于平台的转轮。
NUnit适配器3.0.8.0发现测试完成
=========发现测试已完成:找到0(0:00:01.0639991)===========

引用的NUnit.Engine.NUnitEngineException错误没有帮助,因为无法探索异常在我的程序中的位置。该测试是一个带有一条Assert语句的单一方法,仅用于测试设置是否有效,因此没有什么复杂的问题。我也不明白什么是“特定平台的跑步者”。我通过NuGet Package Manager安装了NUnit和NUnit3TestAdapter,我认为相关平台和版本的安装已经完成

我甚至尝试过安装“Visual Studio的NUnit模板”。这允许我创建一个NUnit项目,有趣的是,NUnit项目中的测试被发现并运行。但缺点是我不能从正在工作的NUnit项目中引用我的UWP应用程序项目,我认为这是因为NUnit项目只支持.Net框架(高达4.6.1)而不支持Windows 10平台


我以前在非UWP应用程序中使用过NUnit,没有太多麻烦。我是否遗漏了什么或者NUnit还不支持UWP应用程序?

目前,您只能使用XUnit测试DNX项目。
这是一个很好的起点

从官方的Asp.Net 5(它使用与UWP相同的基础结构):

例如,要使用xUnit测试框架,您需要 按如下方式配置依赖项:[示例project.json我不知道 要复制]
随着其他测试框架发布对DNX的支持,我们 将在此处链接到它们。


由于文档中没有其他链接的框架,我假设目前没有支持DNX项目的框架。

由于这个问题最初发布,NUnit开发了它对测试UWP/Xamarin应用程序的支持。看看跑步者

基本上,您的测试应该在可移植库或共享项目中创建。然后,UWP项目运行程序可以引用它,它可以在模拟器上运行


如果您采用共享项目方法,还可以通过.NET 4.5项目来引用它,这将允许您的测试与NUnit VS适配器集成,并显示在VS中。便携式库还不能使用此运行程序运行,但这正在进行中

但是DNX环境如何与WinRT应用程序相关?我在这里有点迷茫。From:“针对UWP的应用程序不仅可以调用所有设备通用的WinRT API,还可以调用特定于应用程序运行的设备系列的API(包括Win32和.NET API)。@user2921851使用UWP,您可以针对不同的框架,我相信这就是DNX的精髓。一个简单的问题:我不能在UWP应用程序中使用NUnit吗?@user2921851不,你不能。