我想了解为什么添加等于正在使我的测试失败。 我用一个简单的类和测试重新创建了这个问题。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