自动注入的service怎么mock
时间: 2024-02-06 10:10:59 浏览: 68
使用FactoryBean结合Jmock实现动态Mock类的注入
在测试自动注入的service时,我们可以使用Mockito框架来mock这些service。具体步骤如下:
1. 使用@Mock注解来mock需要注入的service,例如:
```
@Mock
private UserService userService;
```
2. 在测试方法中使用@InjectMocks注解来注入需要测试的service,例如:
```
@InjectMocks
private OrderService orderService;
```
3. 在@Before注解的方法中初始化mock对象,例如:
```
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
}
```
4. 在测试方法中使用when()和thenReturn()方法来mock service的方法,例如:
```
@Test
public void testCreateOrder() {
User user = new User();
user.setName("test");
when(userService.getUserById(1)).thenReturn(user);
Order order = new Order();
order.setUserId(1);
orderService.createOrder(order);
verify(userService, times(1)).getUserById(1);
}
```
这样就可以mock自动注入的service并进行测试了。
阅读全文