我想了解爲什麼添加等於正在使我的測試失敗。 我用一個簡單的類和測試重新創建了這個問題。JUnit Mockito測試失敗與等於
第一次測試通過,第二次測試失敗。
樣例類
public class Class {
Map<String, Boolean> data = new HashMap<>();
public Map<String, Boolean> getData(boolean access) {
if (!access)
return null;
return data;
}}
測試類
public class ClassTest {
@InjectMocks
private Class testObj;
@Test
public void testGetDataNull() {
assertThat(testObj.getData(false), is(nullValue()));
}
@Test
public void testGetDataNull2() {
assertThat(testObj.getData(false), is(equalTo(nullValue())));
}}
失敗正顯示出此錯誤消息
Expected: is <null>
but: was null
Q中的測試:什麼是它們之間的區別?
任何有識之士都非常感謝!
我的猜測是,在第二次測試中,您實際上是在檢查_getData(false)_的結果是否等於由_nullValue()_生成的Matcher對象。嘗試使用* null *代替。 –
請不要將您的班級命名爲「班級」。這會導致你所有的問題。 – nasukkin