gpt4 book ai didi

c# - 使用 nunit-console 运行单独的参数化测试用例

转载 作者:太空狗 更新时间:2023-10-29 21:59:26 26 4
gpt4 key购买 nike

我可以运行一个单独的测试用例,它接受一个字符串值,从命令行没有问题:

例如/run:Namespace.Class.Method("my input string")

但是同样的过程似乎对我输入数字不起作用

例如:/run:Namespace.Class.Method(1,2,3)

输出将正确的输入列为“要运行的测试”,但实际上并未运行任何测试

编辑:

进一步调查,问题似乎出在采用多个参数的测试上。使用以下测试文件:

namespace GetTestsProj
{
[TestFixture]
class NunitConsoleTest
{
[TestCase(1,2,3)]
[Test, Description("A simple test with parameterized numeric inputs")]
public void TestNumeric(int a, int b, int c)
{
Assert.AreEqual(c, a + b);
}

[TestCase("My String")]
[Test, Description("A simple test with parameterized string input")]
public void TestSingleString(string a)
{
Assert.AreEqual("My String", a);
}
[TestCase("String1", "String2")]
[Test, Description("A simple test with parameterized numeric inputs")]
public void TestTwoStrings(string a, string b)
{
Assert.AreEqual("String1", a);
}
}
}

调用 nunit-console.exe/run:GetTestsProj.NunitConsoleTest GetTestsProj\GetTestsProj\bin\debug\GetTestsProj.dll 正确运行所有 3 个测试用例

调用 nunit-console.exe/run:GetTestsProj.NunitConsoleTest.TestNumeric GetTestsProj\GetTestsProj\bin\debug\GetTestsProj.dll 正确运行 1 个测试用例

调用 nunit-console.exe/run:"GetTestsProj.NunitConsoleTest.TestSingleString(\"My String\")"GetTestsProj\GetTestsProj\bin\debug\GetTestsProj.dll 正确运行 1 个测试用例

但是,调用 nunit-console.exe/run:GetTestsProj.NunitConsoleTest.TestNumeric(1,2,3) GetTestsProj\GetTestsProj\bin\debug\GetTestsProj.dll 运行 0 个测试用例

同样调用 nunit-console.exe/run:"GetTestsProj.NunitConsoleTest.TestTwoStrings(\"String1\",\"String2\")"GetTestsProj\GetTestsProj\bin\debug\GetTestsProj.dll 运行 0 个测试用例

尽管 nunit 似乎 正确识别输入 /run:

Selected test(s): GetTestsProj.NunitConsoleTest.TestNumeric(1,2,3)

Tests run: 0, Errors: 0, Failures: 0, Inconclusive: 0, Time: 0 seconds
Not run: 0, Invalid: 0, Ignored: 0, Skipped: 0

Selected test(s): GetTestsProj.NunitConsoleTest.TestTwoStrings("String1", "String2")

Tests run: 0, Errors: 0, Failures: 0, Inconclusive: 0, Time: 0.0156256 seconds
Not run: 0, Invalid: 0, Ignored: 0, Skipped: 0

这都是使用 NUnit 2.5.9.10348

我想知道这是用户错误还是功能不受支持。这对我正在尝试做的事情非常有用。

最佳答案

看起来问题在于测试用例列表在“,”字符上拆分,导致参数化测试用例出现明显问题。错误信息是here ,当有更多信息时,我会尝试在此处发布结论。

关于c# - 使用 nunit-console 运行单独的参数化测试用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5171000/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com