JUnit 서비스 테스터
마법사 사용 방법은 새로운 JUnit 서비스 테스트 페이지를 참고하십시오. |
1. JUnit 테스트 코드
새로운 JUnit 서비스 테스트 마법사로 생성한 코드는 아래와 같습니다.
@Test
애노테이션이 작성된 메소드는 개별 오퍼레이션을 테스트할 수 있는 테스트 메소드입니다. 마법사에서 선택한 오퍼레이션 개수만큼 테스트 메소드가 생성됩니다.
그 외 나머지 메소드는 테스트 전/후 수행되는 메소드이거나 에러가 발생했을 때 수행되는 메소드입니다.
생성되는 코드는 프로젝트 환경마다 다를 수 있습니다. |
@DisplayName("'서비스 예제'의 테스트")
public class TestMyService
extends JUnitServiceTestSupport<DefaultSystemHeader>
{
/**
* {@link test.bxm.service.MyService#sbxm0001a0001a(MyServiceIn)}
*/
@DisplayName("오퍼레이션 1")
@Test
void testSbxm0001a0001a()
{
// TODO 필수 헤더값 설정
setHeaderValue("recvSvcC", "SBXM0001A001"); /*수신 서비스코드*/
setHeaderValue("rqstRespG", "S"); /*요청응답구분*/
// TODO 입력 인스턴스 생성 및 필드 값 설정
MyServiceIn input= new MyServiceIn();
//input.setName(""); //
//input.setId(""); //
//input.setDeptNo(new BigDecimal("0")); //
try{
// TODO 기대값 설정 : 테스트 결과로 원하는 기대 값을 설정 하십시오.
MyServiceOut expected= new MyServiceOut();
// 테스트 수행
TestResult<DefaultSystemHeader, MyServiceOut> result= doTest(input);
MyServiceOut actual= result.getResult();
// 결과 출력
logger.debug("Output = {}", actual);
// 결과 비교
assertEquals(expected, actual);
}
catch(Exception e){
// 테스트 수행 실패
logger.error(e.getMessage());
fail(e.getMessage());
}
}
@Override
protected String getDefaultEndpointURL() {
return "http://yourIP:yourPort/serviceEndpoint/httpService/request.obj";
}
@Override
protected void beforeTest(
URL endpointURL
, DefaultSystemHeader header
, IOmmObject optionHeader1
, IOmmObject optionHeader2
, IOmmObject optionHeader3
, IOmmObject input
)
{
// TODO 테스트 직전에 수행 할 작업을 기술 하십시오.
}
@Override
protected void afterTest(
TestResult<DefaultSystemHeader, IOmmObject> testResult
)
{
// TODO 테스트 수행이 성공하면 수행할 작업을 기술 하십시오.
}
@Override
protected void catchMalformedEndpointURLError(
String endpointURL
, Throwable e
)
{
// TODO 잘못된 형식의 URL 이 사용 되었을 때 수행할 작업을 기술 하십시오.
}
@Override
protected void catchInvalidEndpointURLError(
URL endpointURL
)
{
// TODO 잘못된 URL 또는 원격지로 부터 데이터를 읽을 수 없을 때 수행할 작업을 기술 하십시오.
}
@Override
protected void catchPlatformError(
DefaultSystemHeader header
, IOmmObject optionHeader1
, IOmmObject optionHeader2
, IOmmObject optionHeader3
, IOmmObject input
, DefaultSystemHeader responseHeader
)
{
// TODO 플랫폼 에러가 발생했을 때 수행할 작업을 기술 하십시오.
}
@Override
protected void catchServiceError(
DefaultSystemHeader header
, IOmmObject optionHeader1
, IOmmObject optionHeader2
, IOmmObject optionHeader3
, IOmmObject input
, DefaultSystemHeader responseHeader
)
{
// TODO 서비스 에러가 발생했을 때 수행할 작업을 기술 하십시오.
}
@Override
protected void catchUnknownError(
DefaultSystemHeader header
, IOmmObject optionHeader1
, IOmmObject optionHeader2
, IOmmObject optionHeader3
, IOmmObject input
, Throwable cause
)
{
// TODO 알 수 없는 에러가 발생했을 때 수행할 작업을 기술 하십시오.
}
@Override
protected Class<DefaultSystemHeader> getHeaderClass() {
return DefaultSystemHeader.class;
}
}
java