如果我不想使用TestCase属性指定参数,如何执行参数化测试用例?

时间:2017-08-29 07:04:56

标签: c# nunit nunit-console

如果我不知道将在执行期间传递的参数,如何从Nunit控制台执行以下代码。

    [TestCase]
    public void ExecuteString(string someValue)
    {
        Console.WriteLine(someValue);
    }

我知道我们应该以这种格式传递参数[TestCase(" Values")]。但如果我不确定参数是什么?

1 个答案:

答案 0 :(得分:1)

您不能以这种方式使用TestCase属性,但有TestCaseSource属性可以使用变量和运行时值。

它的工作原理如下所示。这可能是你想要的吗?

[Test, TestCaseSource(typeof(string), nameof(SomeClass.someCases))]
public void Test(string someValue)
{
   Console.WriteLine(someValue);
}

private class someClass
{
   public static IEnumerable someCases
   {
       get
       {
          yield return
             new TestCaseData("valuefornow");
          yield return
             new TestCaseData("valueforlater");
       }
    }
}