访问空对象字段

时间:2018-01-18 17:22:06

标签: java string unit-testing nullpointerexception null

我有一个测试类,我给出了一个字符串值。但是对于一个特定的测试,我需要给出null参数。

setversion(versionString)

这是在合同类中解析的。在契约类中有一个解析字符串的方法。

public void setversion(String versionString){
versionString.trim(); 
//some logic here with string
}

当我在合约类中创建一个在传递null时返回null的方法时,我得到了一个评论,说改变合同类不是一个好习惯。

 setversion(null);

我无法在合约类中更改有方法setVersion的任何内容。如何更改测试方法。

2 个答案:

答案 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)