Taurus NUnit runner 找不到测试

Taurus NUnit runner not finding tests

我有一个简单的 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);
    }
}

当 运行 使用正常测试 运行ner 并通过 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 测试 运行ner 似乎没有接受测试。我可以 运行 使用标准 dotnet test 命令进行测试(该项目确实有 Microsoft.NET.Test.Sdk 作为依赖项)。

由于我的测试项目是 .NET Core,因此我发布该项目以确保包含所有依赖项。这确保指定的所有文件 here 都在与测试程序集相同的目录中。

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

截至 2018 年 6 月,Taurus 的自定义 NUnit 运行程序支持.NET Core. It would seem that this is because NUnit does not allow .NET Core tests to be run via the .NET Framework engine