在TestExplorer中没有显示使用Asp的测试.净核和Nunit

本文关键字:测试 Nunit Asp TestExplorer 显示 | 更新日期: 2023-09-27 18:01:37

请注意,我对c#和测试都很陌生。

我的测试没有显示在测试资源管理器中。我正在使用visual studio 2015 update 3以及使用新的asp.net core项目结构。

我的项目。Json文件如下所示:

{
  "version": "1.0.0-*",
  "description": "Tests for the earthworm",
  "dependencies": {
    "earthworm": "1.0.0-*",
    "NSubstitute": "2.0.0-rc",
    "NUnit.Runners": "3.4.1",
    "NUnit3TestAdapter": "3.4.1",
    "NUnitLite": "3.4.1",
    "NUnit.Console": "3.4.1",
    "Microsoft.Dnx.TestHost": "1.0.0-rc1-final",
    "Microsoft.Dnx.Runtime": "1.0.0-rc1-final"
  },
  "testRunner": "nunit",
  "commands": {
    "Test": "earthworm.test"
  },
  "frameworks": {
    "dnx451": {}
  }
}

当我在测试资源管理器中单击run all按钮时,它应该会找到我的所有测试,我得到这样的输出:

Discovering tests in 'C:'Users'daniel'Repos'earthworm'test'earthworm.test'project.json' 

,然后在测试资源管理器中没有显示任何内容。我试着用NUnit 3测试。net Core,所以看起来如果你使用的是最新的框架,这是可能的。我只是想知道dnx451如何实现这一点。

在TestExplorer中没有显示使用Asp的测试.净核和Nunit

您缺少对dotnet-test-nunitNUnit的依赖,并且有许多不需要的引用。我真的很惊讶你能够用那个依赖列表编写单元测试,但我猜NUnit是由NUnitLite拉进来的。

从项目开始。Json像这样,

{
  "version": "1.0.0-*",
  "description": "Tests for the earthworm",
  "dependencies": {
    "earthworm": "1.0.0-*",
    "NSubstitute": "2.0.0-rc",
    "NUnit": "3.4.1",
    "dotnet-test-nunit": "3.4.0-beta-2"
  },
  "testRunner": "nunit",
  "frameworks": {
    "dnx451": {}
  }
}

如果以上都不适合你:

如果在发现或运行测试时遇到问题,则可能是Visual Studio中运行程序缓存损坏的受害者。要清除此缓存,请关闭所有VisualStudio实例,然后删除文件夹%TEMP%'VisualStudioTestExplorerExtensions。还要确保你的解决方案只链接到一个版本的Visual Studio运行器NuGet包(xunit.runner.visualstudio)。

从:http://xunit.github.io/docs/getting-started-dotnet-core.html