ฉันใช้ Mockito @Mock
และ@InjectMocks
คำอธิบายประกอบในการฉีดการพึ่งพาในเขตข้อมูลส่วนตัวที่มีบันทึกย่อของสปริง@Autowired
:
@RunWith(MockitoJUnitRunner.class)
public class DemoTest {
@Mock
private SomeService service;
@InjectMocks
private Demo demo;
/* ... */
}
และ
public class Demo {
@Autowired
private SomeService service;
/* ... */
}
ตอนนี้ฉันต้องการฉีดของจริงลงใน@Autowired
ฟิลด์ส่วนตัว(โดยไม่มีตัวตั้งค่า) เป็นไปได้หรือเป็นกลไกที่ จำกัด เฉพาะการฉีด Mocks เท่านั้น?
MockitoAnnotations.initMocks(this);
ใน@Before
วิธีการ ฉันรู้ว่ามันไม่ได้เกี่ยวข้องโดยตรงกับคำถามดั้งเดิม แต่สำหรับใครก็ตามที่เข้ามาในภายหลังจะต้องมีการเพิ่มเพื่อทำให้ runnable นี้
@RunWith(MockitoJUnitRunner.class)
) คุณไม่จำเป็นต้องต่อแถวMockitoAnnotations.initMocks(this);