【发布时间】:2019-04-03 14:54:02
【问题描述】:
我有一个简单的 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 项目,但我无法确认。
【问题讨论】: