Java 当返回null时,Mockito
我试图存根几个类,但Mockito总是返回nullJava 当返回null时,Mockito,java,mockito,Java,Mockito,我试图存根几个类,但Mockito总是返回null class test { A mockA = mock(A.class); B mockB = mock(B.class); when(mockA.getB()).thenReturn(mockB); boolean b = mockA.getB() == null //true } interface A { B getB(); } interface B {} 原因可能是什么?试试以下方法: class test
class test {
A mockA = mock(A.class);
B mockB = mock(B.class);
when(mockA.getB()).thenReturn(mockB);
boolean b = mockA.getB() == null //true
}
interface A {
B getB();
}
interface B {}
原因可能是什么?试试以下方法:
class test {
A mockA = mock(A.class);
B mockB = mock(B.class);
when(mockA.getB()).thenReturn(mockB);
boolean b = mockA.getB() == null; // Should be false
}
interface A {
B getB();
}
interface B {}
这里
class test {
A mockA = mock(A.class);
B mockB = mock(B.class);
when(mockA.getB()).thenReturn(mockB);
boolean b = mockA.getB() == null;
}
Mockito将为接口B创建mocked对象(B mockB=mock(B.class);),并且您已经mockA.getB()返回了mocked对象(when(mockA.getB())。然后返回(mockB);),所以布尔值B=mockA.getB()=null;将是错误的
这是代码,它可能会帮助你
下面是代码,如果它可以帮助您导入org.mockito.mockito
public class Test {
public static void main(String dd[]) {
A mockA = Mockito.mock(A.class);
B mockB = Mockito.mock(B.class);
Mockito.when(mockA.getB()).thenReturn(mockB);
boolean b = mockA.getB() == null; // true
System.out.println(b);
}
}
interface A {
B getB();
}
interface B {
}
什么是课堂?mb应该是A.classyeap这是一个错误,抱歉。编辑掉原来的问题并发布无效代码作为示例是没有帮助的。投票结束是一个印刷错误。我在代码的其他地方犯了一个错误,但我认为原因在于代码的这一部分,所以问题解决了。对不起,我犯了一个错误。我的代码现在和你的代码完全一样。当我运行它时,仍然返回
null
?mockA.getB()返回mockB
对象。也许编辑你的问题,复制并粘贴你的实际代码。你是对的,这是我实际代码中的一个错误。