我有一个简单的 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,因此我正在发布该项目以确保包含所有依赖项。这可确保此处指定的所有文件与测试程序集位于同一目录中。
更新:我创建了完全相同的测试项目,但在 .NET Framework 和 Taurus 中找到了测试。对我来说,这表明自定义 Taurus NUnit Test Runner 不适用于 .NET Core 项目,但我无法确认这一点。