在编写单元测试时,在不启动容器的条件下,如何对这种属性进行mock ?
项目代码
@Service
public class LoginServiceImpl {
@Value("${config.timeLimit}")
private int timeLimit;
......
public Object login(User user) {
...
}
}
单测代码
@RunWith(PowerMockRunner.class)
public class Test{
@InjectMocks
LoginServiceImpl loginService;
@Before
public void init () {
//初始化当前测试类所有Mock注解模拟对象,不初始化会报异常
MockitoAnnotations.initMocks(this);
}
@Test
public void testLogin () {
ReflectionTestUtils.setField(loginService, "timeLimit", 5);
}
}