金牛座NUnit赛跑者未找到测试

时间:2019-04-03 14:54:02

标签: nunit taurus

我有一个简单的NUnit测试,可以进行简单的WebAPI调用:

[TestFixture]
public class PerformanceTests
{
    private const string web_api = <myapiurl>;

    [Test]
    public async Task PerformanceTest()
    {
        var response = await client.GetAsync(web_api);
        Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
    }
}

使用常规测试运行程序以及通过ReSharper运行时,该测试在Visual Studio中运行良好;它会突出显示为NUnit测试。

我已经安装了Taurus,并创建了一个简单的yml文件来运行测试:

execution:
- executor: nunit
  iterations: 500
  scenario:
    script: C:\Users\...\tests.dll  # assembly with tests

当我在Taurus中运行yml文件时:

bzt my-nunit-tests.yml

测试无法运行,我得到以下输出:

Target: C:\Users\...\tests.dll
15:36:51 ERROR: NUnitExecutor STDERR:
Unhandled Exception: System.ArgumentException: Nothing to run, no tests were loaded
at NUnitRunner.NUnitRunner.Main(String[] args)

看来,自定义的Taurus NUnit测试运行程序没有进行测试。我可以使用标准的dotnet test命令运行测试(项目确实具有Microsoft.NET.Test.Sdk作为依赖项)。

因为我的测试项目是.NET Core,所以我正在发布该项目以确保包括所有依赖项。这样可以确保指定的here所有文件都与测试程序集位于同一目录中。

更新:我已经创建了完全相同的测试项目,但是在.NET Framework中,Taurus找到了测试。对我来说,这表明自定义的Taurus NUnit测试运行程序不适用于.NET Core项目,但我无法确认。

1 个答案:

答案 0 :(得分:0)

截至2018年6月,金牛座的Custom NUnit运行器不支持.NET Core。看来这是因为NUnit不允许(不允许)通过.NET Framework engine运行.NET Core测试。