NUnit标记不确定的结果为"测试未运行"

时间:2017-01-23 22:15:40

标签: c# visual-studio nunit

我有Assert.Inconclusive的单元测试,但VS测试资源管理器中的测试结果是"测试未运行"而不是"不确定"。 Assert.Fail和Assert.Pass都返回正确的测试结果。我做错了什么?

Visual Studio 2015,使用NUnit 3的类库项目。谢谢!

[TestFixture]
public class Class1
{
    [Test]
    public void scratch()
    {
        Assert.Inconclusive();
    }
}

packages.config:

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="NUnit" version="3.6.0" targetFramework="net452" />
  <package id="NUnit.Console" version="3.6.0" targetFramework="net452" />
  <package id="NUnit.ConsoleRunner" version="3.6.0" targetFramework="net452" />
  <package id="NUnit.Extension.NUnitProjectLoader" version="3.5.0" targetFramework="net452" />
  <package id="NUnit.Extension.NUnitV2Driver" version="3.6.0" targetFramework="net452" />
  <package id="NUnit.Extension.NUnitV2ResultWriter" version="3.5.0" targetFramework="net452" />
  <package id="NUnit.Extension.TeamCityEventListener" version="1.0.2" targetFramework="net452" />
  <package id="NUnit.Extension.VSProjectLoader" version="3.5.0" targetFramework="net452" />
</packages>

3 个答案:

答案 0 :(得分:3)

NUnit 3 VS适配器就是......适配器。 NUnit的测试和测试结果概念适应最适合Visual Studio及其测试资源管理器理解的概念。

NUnit概念中的Inconclusive结果并不存在于Visual Studio中,因此必须将其报告为其他内容。 Not Run似乎和我们一样接近。

您将注意到的另一个差异是Visual Studio将新的NUnit警告结果报告为Skipped。这更加合适,但我们使用它,以便Visual Studio将显示结果,并使用与Ignored测试相同的警告图标。

目前,我认为我们无法获得更好的翻译,但欢迎提出建议。既然微软已开源他们的测试平台(https://github.com/Microsoft/vstest),也许有人会给他们一个扩展测试结果所支持的值的PR。

答案 1 :(得分:0)

我知道这很古老,但是每当得到这种结果时,它几乎总是两件事之一:

  • 可能的配置错误,例如app.config中缺少的内容
  • 不正确的TestCase参数,例如Test接受2个参数,而我只传递了一个

那是我的经验

答案 2 :(得分:0)

我有同样的问题。

就我而言,我有一个带有MSTests的UnitTests项目。我决定将MSTests更改为NUnit。我安装了NUnit,更改了测试并运行了它们。所有显示为 Inconclusive 的运行测试。因此,我安装了 NUnit3TestAdapter 并成功运行了测试。