我有一个简单的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中运行良好;它被突出显示为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)看来,自定义的金牛座NUnit测试运行程序并没有选择测试。我可以使用标准的dotnet test命令运行测试(项目确实有Microsoft.NET.Test.Sdk作为依赖项)。
由于我的测试项目是.NET核心,所以我正在发布该项目,以确保包含所有依赖项。这将确保所有指定的这里文件与测试程序集位于同一个目录中。
更新:我创建了完全相同的测试项目,但是在.NET框架中和金牛座可以找到测试。对我来说,这表明自定义金牛座NUnit测试运行程序不适用于.NET核心项目,但我无法确认这一点。
https://stackoverflow.com/questions/55498156
复制相似问题