朱尼特 Testing框架允许我们在out Test Class中使用Parameters。要编写参数化测试用例,测试类应仅包含一个测试用例,我们可以按照下面的示例中的说明为其提供多个参数。
通知特定类作为参数化测试添加注释
@RunWith(Parameterized.class)
此类需要一个带有@Parameters批注的静态方法。此方法生成数组的集合,集合中的每个项目都称为数组。我们还可以在公共字段上使用@Parameter批注,并在测试中注入测试值。
让我们看下面的示例,以了解如何使用参数化Junit测试 -
测试用例根据配置的数据集执行3次。
import static org.junit.Assert.assertEquals; import java.util.Arrays; import java.util.Collection; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameters; @RunWith(Parameterized.class) public class ParameterizedTestUsingConstructor { private int num1; private int num2; public ParameterizedTestUsingConstructor(int p1, int p2) { num1 = p1; num2 = p2; } // creates the test data @Parameters public static Collection<Object[]> data() { Object[][] data = new Object[][] { { 1 , 2 }, { 5, 3 }, { 121, 4 } }; return Arrays.asList(data); } @Test public void testMultiplyException() { MyClass tester = new MyClass(); assertEquals("Result", num1 + num2, tester.add(num1, num2)); } // class to be tested class MyClass { public int add(int i, int j) { return i + j; } } }
测试用例根据配置的数据集执行3次。
0 comments:
发表评论