2017-01-23 101 views
1

我有一个单元测试Assert.Inconclusive,但在VS测试浏览器中的测试结果是“测试未运行”,而不是“不确定”。 Assert.Fail和Assert.Pass都返回正确的测试结果。我究竟做错了什么?NUnit标记不确定结果作为“测试未运行”

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> 
+0

当我通过NUnit控制台运行它时,测试结果是预期的“不确定”。 – Cram

+0

另外,我只注意到上面粘贴的packages.config xml不包含nunit测试适配器。在排除故障时,我必须删除它。无论如何,它现在又回到了项目中,而且在清理和重建之后,我仍然遇到同样的问题。 '' – Cram

回答

2

NUnit的3 VS适配器正是...的适配器。 NUnit的测试和测试结果的概念最适合于由Visual Studio及其测试浏览器理解的概念。

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

您会注意到的另一个差异是Visual Studio将新的NUnit警告结果报告为跳过。这更糟糕,但我们使用它,以便Visual Studio将显示与忽略测试相同的警告图标。

现在,我认为我们不能得到更好的翻译,虽然建议是受欢迎的。现在微软已经开放了他们的测试平台(https://github.com/Microsoft/vstest),也许有人会给他们一个公关,扩展测试结果支持的价值。

+0

谢谢查理。 – Cram