0
현재 컨트롤러의 메소드를 테스트하고 있습니다. 메서드가 올바른 문자열을 반환하는지 테스트하기 만하면됩니다.AssertionError 유닛 테스트시 예기치 않은 메소드 호출
@RequestMapping(value = "/createTestscenario", method = RequestMethod.POST)
public String createTestscenario(@PathVariable("tdid") Integer testdesignID, @ModelAttribute("testscenario") Testscenario testscenario){
Testdesign testdesign = this.testdesignService.getTestdesignById(testdesignID);
testscenario.setTestdesign(testdesign);
testdesign.getTestscenarioSet().add(testscenario);
this.testdesignService.saveTestdesign(testdesign);
return "redirect:/projects";
}
이 내가 테스트를 실행할 때 오류 얻을 내 단위 테스트
@Test
public void createTestscenario1() throws Exception {
Testdesign testdesign = new Testdesign();
testdesign.setId(1);
Testscenario testscenario = new Testscenario();
testscenario.setId(1);
Testscenario testscenario2 = new Testscenario();
testscenario.setId(2);
Set<Testscenario> set = new HashSet<>(Arrays.asList(testscenario));
testdesign.setTestscenarioSet(set);
testscenario.setTestdesign(testdesign);
EasyMock.expect(testdesignService.getTestdesignById(1)).andReturn(testdesign);
EasyMock.replay(testdesignService);
String test = controller.createTestscenario(1, testscenario2);
EasyMock.verify(testdesignService);
Assert.assertEquals("redirect:/projects", test);
}
입니다 : 오류가 자리하고있는 곳
java.lang.AssertionError:
Unexpected method call TestdesignServiceImpl.saveTestdesign([email protected]):
는 솔직히 모르겠어요. saveTestdesign 메소드를 모의 할 수 없습니다.
EasyMock.expect(testdesignService.save(testdesign)).andReturn(..);
save는 void 메소드입니다.
누군가이 단위 테스트를 수정하는 방법을 알고 있습니까?
등의 작업을 수행하는 방법은 void 메소드를 사용하는 경우에도 있습니다. 예 : https://stackoverflow.com/questions/22831523/easymock-void-method – Stultuske