0

我有一个简单的 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 项目,但我无法确认这一点。

4

1 回答 1

0

截至 2018 年 6 月,Taurus 的自定义 NUnit 运行器支持.NET Core。这似乎是因为 NUnit不允许通过.NET Framework 引擎运行 .NET Core 测试。

于 2019-04-04T08:06:11.333 回答