考虑以下课程:
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
类然后设置它时它工作正常。
答案 0 :(得分:2)
是的,您需要模拟get值返回时发生的情况:
当(test.get( “1234”))thenReturn( “1234”);
在模拟上调用set不会做任何事情。模拟没有任何字段被包含的概念,它只知道被调用的内容和返回的内容,即。您需要为特定输入指定特定的返回值。