我有一个简单的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项目,但我无法确认。
答案 0 :(得分:0)
截至2018年6月,金牛座的Custom NUnit运行器不不支持.NET Core。看来这是因为NUnit不允许(不允许)通过.NET Framework engine运行.NET Core测试。