最小起订量:通过参数进行多种测试,一种测试方法

时间:2019-01-03 15:02:59

标签: c# unit-testing moq

几年前,如果我没有记错的话,那就是拥有一个测试方法并通过该方法输入参数,然后使用Moq设置这些参数,并且每个diff参数集都会创建一个新的测试

我不记得它叫什么了,我一直在寻找它,但似乎找不到它 我很想做

Moq("john", "mike", "sheila")
Moq("jake", "bleh", "donny")
....
[Test]
public void Test(param1, param2, param2)
{
  ...
}

2 个答案:

答案 0 :(得分:1)

您可以直接使用NUnit使用TestCase进行参数化测试:

[TestCase("john", "mike", "Sheila")]
[TestCase("jake", "bleh", "donny")]
public void Test(string param1, string param2, string param3)
{
//...
}

答案 1 :(得分:1)

Moq是.NET的模拟框架。

此功能与Moq无关,它取决于单元测试工具。所以, 如果您使用的是xUnit,那么

[Theory]
[InlineData("john", "mike", "sheila")]
[InlineData("jake", "bleh", "donny")]
public void Test(string param1, string param2, string param3)
{
}

如果您使用的是MSTest,请添加软件包MsTest.TestAdapterMsTest.TestFramework

[DataTestMethod]
[DataRow("john", "mike", "sheila")]
[DataRow("jake", "bleh", "donny")]
public void Test(string param1, string param2, string param3)
{
}