2 回答
TA贡献1828条经验 获得超6个赞
这里有两个问题:
您可以通过为@Mock显式分配一个新的(模拟的)值来覆盖由注释创建的模拟对象env。
您缺少将@InjectMocks模拟内容注入env到您的myService成员的注释:
public class MyServiceTest {
@Mock
Environment env; // issue #1
@InjectMocks // issue #2
MyServiceImpl myService = new MyServiceImpl()
@Before
public void setUp() throws Exception {
Mockito.when(this.env.getProperty("myProperty")).thenReturn("1234,2345");
}
// Tests ...
TA贡献1798条经验 获得超7个赞
您的对象创建过程中有很多问题。但是,如果您依赖Mockito中的注释,则需要使用运行器MockitoJUnitRunner或调用来初始化对象MockitoAnnotations.initMocks(this);
最终配置:
public class MyServiceTest {
@Mock
Environment env;
@InjectMocks
MyServiceImpl myService;
@Before
public void setUp() throws Exception {
MockitoAnnotations.initMocks(this);
Mockito.when(this.env.getProperty("myProperty")).thenReturn("1234,2345");
}
// Tests ...
添加回答
举报