通过mockito设置值不起作用

时间:2015-05-06 02:42:29

标签: java unit-testing mockito

考虑以下课程:

public class FacadeImplTest {
/*Class to test*/
private FacadeImpl facade;
@Mock
private Test test;
@Mock
private Test1 test1;
 @Before
public void setUp() throws Exception {

    MockitoAnnotations.initMocks(this);
    facade = new FacadeImpl();

    test.setID("1234");


}
@Test
public void testOrder() throws Exception {
// Have methods to test
}

这里Test类是一个pojo类,它有id变量的getter和setter。 test.setID("1234")应该在Test类中设置id,但它不是设置并返回null。我在这里错过了什么吗?

但是当我尝试实例化Test类然后设置它时它工作正常。

1 个答案:

答案 0 :(得分:2)

是的,您需要模拟get值返回时发生的情况:

当(test.get( “1234”))thenReturn( “1234”);

在模拟上调用set不会做任何事情。模拟没有任何字段被包含的概念,它只知道被调用的内容和返回的内容,即。您需要为特定输入指定特定的返回值。