小编Vic*_*sai的帖子

Spring Mockito @injectmocks无法正常工作

嗨,我正在使用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)

java spring unit-testing mockito

6
推荐指数
5
解决办法
9207
查看次数

标签 统计

java ×1

mockito ×1

spring ×1

unit-testing ×1