嗨,我正在使用Mockito来测试我的Spring项目,但@InjectMocks似乎没有将一个模拟服务注入到另一个Spring服务(bean)中.
这是我要测试的Spring服务:
@Service
public class CreateMailboxService {
@Autowired UserInfoService mUserInfoService; // this should be mocked
@Autowired LogicService mLogicService; // this should be autowired by Spring
public void createMailbox() {
// do mething
System.out.println("test 2: " + mUserInfoService.getData());
}
}
Run Code Online (Sandbox Code Playgroud)
以下是我想要模拟的服务:
@Service
public class UserInfoService {
public String getData() {
return "original text";
}
}
Run Code Online (Sandbox Code Playgroud)
我的测试代码在这里:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "file:src/main/webapp/WEB-INF/spring/root-context.xml" })
public class CreateMailboxServiceMockTest {
@Mock
UserInfoService mUserInfoService;
@InjectMocks
@Autowired
CreateMailboxService mCreateMailboxService;
@Before
public void setup() {
MockitoAnnotations.initMocks(this); …Run Code Online (Sandbox Code Playgroud)