我正在使用Mockito @Mock
和@InjectMocks
批注将依赖项注入到使用Spring批注的私有字段中@Autowired
:
@RunWith(MockitoJUnitRunner.class)
public class DemoTest {
@Mock
private SomeService service;
@InjectMocks
private Demo demo;
/* ... */
}
和
public class Demo {
@Autowired
private SomeService service;
/* ... */
}
现在,我也想将真实对象注入私有@Autowired
字段(不使用setter)。这是否可能,或者该机制仅限于注入Mocks?
MockitoAnnotations.initMocks(this);
在@Before
方法。我知道这与原始问题没有直接关系,但是与以后出现的任何人都需要添加此元素以使其可运行。
@RunWith(MockitoJUnitRunner.class)
),则不需要该行MockitoAnnotations.initMocks(this);