1

我有一个 Windows 8 应用商店应用程序,在解决方案中有两个项目 - 一个项目专门用于测试。我已经通过 nuget 为此添加了 NUnit 和 NUnit 测试适配器( https://www.nuget.org/packages/NUnitTestAdapter/1.0.0 )。

检测到的测试

检测到我的测试 - 但我无法运行或调试它们。查看测试输出窗口,我收到以下错误:

找不到具有 URI 'executor://nunittestexecutor/' 的测试执行器。确保已安装测试执行器并支持 .net 运行时版本 4.0.30319.34003。

我没有使用 resharper,而是在 Windows 8.1 上使用 Visual Studio Professional 2012 Update 3。测试项目参考如下:

测试项目参考

4

1 回答 1

1

根据我上面的评论,以下是一种解决方法。不幸的是,在这个阶段,Windows 8.1 存储单元测试项目类型,由于不同的 .NET 目标,使用 NUnit 扩展将无法工作。我尝试了不同的测试单元适配器,包括NUnitTestAdapterWithFramework

您遇到的问题似乎是针对 NUnit 测试适配器的标准 .NET 库发生的,但上面的 NUnitTestAdapterWithFramework 必须解决了这些问题。请参阅NUnitTestExtension 的问答部分

但不幸的是,对于 Win8 Store App 类型的单元测试,这似乎仍然是一个尚未解决的问题。很确定xUnit.NET 还不兼容不同的 .NET 目标类型(即 WinRT)

那么有哪些选择呢?一个。对于您的组,您可以将它们更改为使用 MSTest 框架。结果 - 问题没有解决任何问题。

湾。解决方法“链接项目”。结果 - 不能*保证**,但这也应该有效。

使用选项“b”

在您提到的评论中。

但我仍然不确定它的作用或如何实施“链接项目”,您对此有更多信息吗?此外,由于这是一个团体大学项目,我希望我不必强迫太多的变通办法

当您考虑它时,这并不是真正的艰苦工作。这很简单,我相信您的团队将能够轻松地应用此解决方法。

请按照以下步骤操作。

  1. 在您的解决方案中创建一个单独的类库(您可以针对 .NET 框架 4)。

  2. 然后像往常一样添加 NUnit 程序集和 NUnit 测试适配器。

    在此处输入图像描述

  3. 右键单击此项目并选择“添加”,然后选择“现有项目”

  4. 选择 Win8 Store Unit Test 项目并找到要添加的单元测试文件。添加文件时,请确保选择“添加为链接”按钮。请看下文。

    在此处输入图像描述

  5. 现在重建解决方案,关闭并重新打开 UnitTest 资源管理器,您应该能够运行这些测试。

在此处输入图像描述

*我说的原因不能保证。我还没有真正针对 Win8 App 编写单元测试。因此,如果您的 SUT(被测系统)需要特殊配置,则可能会导致问题。但我不确定。

如果一切正常,最后创建链接文件并不难,你可以继续这样做,直到 NUnit 支持 Win8 单元测试。或者,如果可能,另一种选择是简单地将所有单元测试更改为使用 MSTest 框架。

于 2013-11-10T06:15:21.547 回答