Tôi đang sử dụng các chú thích @Mock
và @InjectMocks
chú thích của Mockito để đưa các phụ thuộc vào các trường riêng được chú thích với Spring @Autowired
:
@RunWith(MockitoJUnitRunner.class)
public class DemoTest {
@Mock
private SomeService service;
@InjectMocks
private Demo demo;
/* ... */
}
và
public class Demo {
@Autowired
private SomeService service;
/* ... */
}
Bây giờ tôi cũng muốn đưa các đối tượng thực vào các @Autowired
trường riêng (không có setters). Điều này là có thể hay chỉ là cơ chế giới hạn trong việc tiêm Mocks?
MockitoAnnotations.initMocks(this);
trong @Before
phương pháp. Tôi biết nó không liên quan trực tiếp đến câu hỏi ban đầu, nhưng với bất kỳ ai đến sau, điều đó sẽ cần phải được thêm vào để làm cho câu hỏi này có thể chạy được.
@RunWith(MockitoJUnitRunner.class)
), bạn không cần dòngMockitoAnnotations.initMocks(this);