나는 시험 클래스 TestService1
에 시험 방법과 두 개의 서비스 클래스 Service1
과 Service2
을 포함하고있다. 나는 Service1
클래스 메서드에 대한 호출을 포함하는 클래스에 메서드 isResourceAlreadyPresent
에 대한 JUnit 테스트를 작성하고 있습니다. 시험 방법에서 나는 testMapper1.getAlreadyPresentResources()
가 다음 호출되는 경우 때문에 크기가 1입니다하지만이 목록을 반환하지하고 목록을 반환하지만 크기가 0mockito`올바른 응답을 얻지 못했을 때
@ContextConfiguration(locations = "../TestServiceApplicationContext1.xml")
public class TestService1
{
@Autowired
private TestMapper1 testMapper1;
private TestResource testResource1;
private List<TestResource> mockTestResourceList;
private Service1 service1;
private Service1 service2;
@Before
public void setUp()
{
testMapper1 = mock(TestMapper1.class);
service1 = Service1Util.getService();
service1.setTestMapper1(testMapper1);
mockTestResourceList = new ArrayList<TestResource>();
testResource1 = Service1Util.createTestResource();
testResource1.setId(1);
mockTestResourceList.add(testResource1);
}
@Test
public void isResourceAlreadyPresentTest()
{
when(testMapper1.getAlreadyPresentResources()).thenReturn(mockTestResourceList);
boolean isPresent = service2.isResourceAlreadyPresent();
assertTrue(isPresent == true);
}
}
public class Service2
{
... some code ...
public boolean isResourceAlreadyPresent()
{
List<TestResource> resourceList = Service1Util.getAlreadyPresentResources(); //service1.getTestMapper1().getAlreadyPresentResources();
//resourceList size is 0
if(resourceList.size() > 0)
return true;
else
return false;
}
... some code ...
}
되는
mockTestResourceList
를 반환해야
when(testMapper1.getAlreadyPresentResources()).thenReturn(mockTestResourceList);
을 작성했습니다
이것은 게시 할 수 없으므로 작성한 코드와 작동하지 않는 테스트 코드입니다. 이것을 더미 코드로 간주 할 수 있습니다. – eatSleepCode