我有一个简单的 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
测试。
我已经安装了金牛座,并创建了一个简单的yml文件来运行我的测试:
execution:
- executor: nunit
iterations: 500
scenario:
script: C:Users...tests.dll # assembly with tests
当我在金牛座运行 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,因此我正在发布该项目以确保包含所有依赖项。这可确保此处指定的所有文件与测试程序集位于同一目录中。
更新:我已经创建了完全相同的测试项目,但在.NET Framework和Taurus中找到了测试。对我来说,这表明自定义 Taurus NUnit 测试运行程序不适用于 .NET Core 项目,但我无法确认这一点。
截至2018年6月,Taurus的自定义NUnit运行器不支持.NET Core。这似乎是因为NUnit不允许通过.NET Framework引擎运行.NET Core测试。