Moq:通过params多次测试,一种测试方式

Moq: multiple tests through params, one test method

几年前,如果我没记错的话是有一个测试方法并通过该方法获取参数,这些参数将使用 Moq 设置,每个不同的参数集将创建一个新的测试

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

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

您可以直接使用 NUnit 执行此操作,使用 TestCase 进行参数化测试:

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

Moq 是 .NET 的模拟框架。

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

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

如果您使用的是 MSTest,则添加包 MsTest.TestAdapter and MsTest.TestFramework

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