Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当返回null时,Mockito_Java_Mockito - Fatal编程技术网

Java 当返回null时,Mockito

Java 当返回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

我试图存根几个类,但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 {
    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
对象。也许编辑你的问题,复制并粘贴你的实际代码。你是对的,这是我实际代码中的一个错误。