Pan*_*dge 3 java junit unit-testing mockito
我有一个以下的类A与一个构造函数,它接受两个字符串作为参数.
Class A
{
String test1;
String test2;
public(String test1, String test2)
{
this.test1 = test1;
this.test2 = test2;
}
}
Run Code Online (Sandbox Code Playgroud)
我想在一个测试用例方法中测试一个带有三个测试用例的构造函数,即1. Null test1 2. Null test2 3. Null test1,Null test2
String test1 = "ABC";
String test2 = "XYZ";
@Test(expected=NullPointerException.class)
public void testNullConstructorValues() {
new A(null, test2);
new A(test1, null);
new A(null, null);
}
Run Code Online (Sandbox Code Playgroud)
这里的问题是,在第一次构造函数声明之后,该方法抛出NPE并返回该方法.我希望该方法只在一个方法中执行所有3个构造函数声明并执行预期的异常检查.
有没有办法在一个方法中完成所有3个测试用例?
Pau*_*kin 11
使用参数化的跑步者测试.
@RunWith(Parameterized.class)
public class ATest {
private String value1;
private String value2;
private static final String ABC = "abc";
private static final String XYZ = "xyz";
public ATest(String value1, String value2) {
this.value1 = value1;
this.value2 = value2;
}
@Test(expected=NullPointerException.class)
public void nullPassedToConstructor() {
A a = new A(value1, value2);
}
// Provide data
@Parameters
public static List<Object[]> data() {
List<Object[]> list = new ArrayList<Object[]>();
list.add(new Object[] {null, XYZ});
list.add(new Object[] {ABC, null});
list.add(new Object[] {null, null});
return list;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7437 次 |
| 最近记录: |