我给了我一个测试方法和一堆测试用例如下。
[TestCase(1, 2)]
[TestCase(3, 4)]
[TestCase(5, 6)]
public void Smack(int a, int b) { ... }
我在一个地区隐藏了一堆案件,但感觉不对。我已尝试使用官方网页上列出的其他属性,但实际上并没有这样做(对于正确的方法有点困惑)。此外,一位同事暗示使用排列等可能会导致问题。
下面是说出一堆测试用例的最佳方法,还是有更顺畅,更专业的?
#region Bunch
[TestCase(1, 2)]
[TestCase(3, 4)]
[TestCase(5, 6)]
#endregion
public void Smack(int a, int b) { ... }
答案 0 :(得分:3)
您可以尝试使用TestCaseSource
:
[TestCaseSource("SmackTestCases")]
public void Smack(int a, int b) { ... }
static object[] SmackTestCases =
{
new object[] { 1, 2 },
new object[] { 3, 4 },
new object[] { 5, 6 }
};
你也可以在一个单独的类中实现它,如下所示:
[TestFixture]
public class MyTests
{
[Test]
[TestCaseSource(typeof(SmackTestDataProvider), "TestCases")]
public void Smack(int a, int b) { ... }
}
public class SmackTestDataProvider
{
public static IEnumerable TestCases
{
get
{
yield return new TestCaseData( 1, 2 );
yield return new TestCaseData( 3, 4 );
yield return new TestCaseData( 5, 6 );
}
}
}