實體類:
public class ConvertController {
@Resource
private ConvertServiceImpl convertservice;
public APIResult convert() throws Exception {
APIResult result = null;
result = convertservice.getConvertResult();
return result;
}
}
public class ConvertServiceImpl implements ConvertService {
public APIResult getConvertResult() {
}
}
單體測試:
public class ConvertControllerTest {
//mock的對象將要注入的類
private ConvertController controller;
//要mock的對象
private ConvertServiceImpl convertservice;
//在每個test執行前都會執行該方法
@Before
public void setUp() throws Exception {
controller = new ConvertController();
convertservice = Mockito.mock(ConvertServiceImpl.class); // 創建Mock對象
Whitebox.setInternalState(controller, "convertservice", convertservice); // 注入依賴對象
}
@Test
public void testconvert() throws Exception {
//期待返回的結果
APIResult api = new APIResult(0, "error");
//調用convertservice的getConvertResult()方法時返回預期的結果api
Mockito.when(convertservice.getConvertResult().thenReturn(api);
//實際業務調用
APIResult result = controller.convert();
//調用結果和預期結果進行比較
Assert.assertEquals("{\"code\":0,\"errMsg\":\"error\"}", result.toString());
}
}