Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.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 接口模拟工作不正常_Java_Unit Testing_Testing_Mockito - Fatal编程技术网

Java 接口模拟工作不正常

Java 接口模拟工作不正常,java,unit-testing,testing,mockito,Java,Unit Testing,Testing,Mockito,我正在编写一个测试,并试图模拟接口IMyResponse。但它在模拟后返回int。以下是我的工作: public interface IMyResponse extends Serializable { // ... Object getResponseObject(); } private IMyResponse myResponse; @Before public void setUp(){ myResponse = mock(IMyResponse.class)

我正在编写一个测试,并试图模拟接口IMyResponse。但它在模拟后返回int。以下是我的工作:

public interface IMyResponse extends Serializable {
    // ...
    Object getResponseObject();
}

private IMyResponse myResponse;

@Before
public void setUp(){
    myResponse = mock(IMyResponse.class);
}

@Test
public void mockTest(){
    // myResponse.getResponseObject() is 0
    when(myResponse.getResponseObject()).thenReturn("value");
    // myResponse.getResponseObject() is 46
}

我做错了什么?

更改mockito版本有帮助(它是1.10):


[帮助我]
没有什么明显的错误。请提供我们可以运行的代码来重现该问题。您是否用以下注释测试类:
@RunWith(MockitoJUnitRunner.class)
@RunWith(MockitoJUnitRunner.class)公共类MyResponseTest{private imyrresponse myResponse;@Before public void setUp(){myResponse=mock(imyrresponse.class);}@Test public void mockTest(){when(myResponse.getResponseObject()).thenReturn(“value”);System.out.println(myResponse.getResponseObject();}}
工作得非常好。不知道你在做什么我不能提供更多的细节,因为这个接口是一个大型库的一部分。当我将此接口更改为子类时,它可以正常工作。也许你知道什么是错误的?注释是@RunWith(AndroidJUnit4.class),谢谢你提供了这个自我回答。也请通过勾选“已接受”标记将其标记为解决方案。
androidTestImplementation 'org.mockito:mockito-android:2.15.0'