我有一个测试类,我给出了一个字符串值。但是对于一个特定的测试,我需要给出null参数。
setversion(versionString)
这是在合同类中解析的。在契约类中有一个解析字符串的方法。
public void setversion(String versionString){
versionString.trim();
//some logic here with string
}
当我在合约类中创建一个在传递null时返回null的方法时,我得到了一个评论,说改变合同类不是一个好习惯。
setversion(null);
我无法在合约类中更改有方法setVersion的任何内容。如何更改测试方法。
答案 0 :(得分:0)
该方法将返回NullPointerException
,因此无法更改合同类,您只能测试您期望发生的事情:
@Test(expected=NullPointerException.class)
public void testNullInput() {
fail(setversion(null));
}
答案 1 :(得分:0)
您可以使用mockito的spy
机制
T t = new T();
T tspy = Mockito.spy(t);
Mockito.when(tspy.setversion(null)).thenReturn(null)