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

2. 테스트 수행

작성된 테스트 코드를 JUnit 테스트를 사용하여 테스트할 수 있습니다.

테스트 수행
  1. 소스 코드를 우클릭 → Run AS → 'JUnit Test' 를 선택합니다.

    테스트가 수행되면 아래 그림처럼 결과를 확인할 수 있습니다.

    테스트 확인
SWLab Bankware Global
  • 전체
  • BXM
  • BXCM
  • BXCP
  • BXI
제품 선택 시 더 정확한 매뉴얼 가이드를 제공해드립니다.

제품

Copyright© Bankwareglobal All Rights Reserved.