如题,假设我有如下代码:
@Injectable
SomeDao someDao;
@Test
public void someTest{
new MockUp<SomeDao>(){
@Mock
List<Some> getSomeList(String id){
return Collections.singletonList(new Some());
}
};
List<Some> list = someDao.getSomeList("233");
}
我就是想 Mock 这个方法,让它给我一个带元素的 list。但是执行之后为什么我的 list 会是空的?
别告诉我把这个 Dao 给整个 @Mocked 了,因为其他方法用到,不加 @Injectable 会报错。如果这两个注解同时加上,list 还是空的。
1
archer2ee 2017-08-24 22:46:31 +08:00
|
2
archer2ee 2017-08-24 22:52:21 +08:00
如果要用 MockUp 的话,注意要 Mock 的是实现类,比如这样:
```java @Injectable SomeDao someDao; @Test public void someTest{ new MockUp<SomeDaoImpl>(){ @Mock List<Some> getSomeList(String id){ return Collections.singletonList(new Some()); } }; List<Some> list = someDao.getSomeList("233"); } ``` |