0
我有一个3类方法的服务类,Service类也使用了一些@Autowired注解。 3种方法中,我想模拟两种方法,但使用真正的方法为第三种方法。一起使用@Spy和@Autowired
问题是:
- 如果我使用@Autowired与@Spy,所有三个实际的方法实现被调用。
- 如果我仅使用@Spy,则调用实型方法时返回空指针,因为没有初始化Autowired对象。
我有一个3类方法的服务类,Service类也使用了一些@Autowired注解。 3种方法中,我想模拟两种方法,但使用真正的方法为第三种方法。一起使用@Spy和@Autowired
问题是:
我知道这些两个选项:
@Autowired
@InjectMocks
private ProductController productController;
@BeanSpy
private ProductService productServiceSpy;
@Autowired
private ProductController productController;
@Autowired
private ProductService productService;
@Before
public void setUp() {
ProductService productServiceSpy = Mockito.spy(productService);
ReflectionTestUtils.setField(productController, "productService", productServiceSpy);
}