JUnit 테스트 코드

새로운 JUnit 모듈 테스트 마법사로 생성한 코드는 아래와 같습니다.

@Test 애노테이션이 작성된 메소드는 개별 메소드를 테스트할 수 있는 테스트 메소드입니다. 마법사에서 선택한 메소드 개수만큼 테스트 메소드가 생성됩니다.

그 외 나머지 메소드는 테스트 전/후 수행되는 메소드이거나 에러가 발생했을 때 수행되는 메소드입니다.

@DisplayName("'Bean 예제'의 테스트")
public class TestMyBean
extends JUnitModuleTestSupport<DefaultSystemHeader>
{

    /**
     * {@link test.bxm.bean.MyBean#getUserList(
        * BigDecimal
     * )}
     */
    @DisplayName("testGetUserList")
    @Test
    void testGetUserList()
    {
        // TODO 필수 헤더값 설정
        setHeaderValue("recvSvcC", "SBXM0001A001"); /*수신 서비스코드*/
        setHeaderValue("rqstRespG", "S"); /*요청응답구분*/

        // 테스트 대상 메소드의 입력 파라미터 타입 목록
        Class<?>[] paramTypes= new Class<?>[] {
            BigDecimal.class
        };

        // TODO 입력 값 설정
        BigDecimal param0= new BigDecimal("0");

        try{
            // TODO 기대값 설정 : 테스트 결과로 원하는 기대 값을 설정 하십시오.
            List<DbioOutput> expected= null;

            // 테스트 수행
            ModuleTestResult<DefaultSystemHeader, List<DbioOutput>> result=
                    doTest(
                            MyBean.class
                            , "getUserList"
                            , paramTypes
                            // ↓↓↓↓입력↓↓↓↓
                            , param0
                            );

            List<DbioOutput> 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 requestHeader
            , IOmmObject requestOptionHeader1
            , IOmmObject requestOptionHeader2
            , IOmmObject requestOptionHeader3
            , Object[] requestInput
            )
    {
        // TODO 테스트 직전에 수행 할 작업을 기술 하십시오.
    }

    @Override
    protected void afterTest(
            ModuleTestResult<DefaultSystemHeader, Object> 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 requestHeader
            , IOmmObject requestOptionHeader1
            , IOmmObject requestOptionHeader2
            , IOmmObject requestOptionHeader3
            , Object[] requestInput
            , DefaultSystemHeader responseHeader
            )
    {
        // TODO 플랫폼 에러가 발생했을 때 수행할 작업을 기술 하십시오.
    }

    @Override
    protected void catchModuleError(
            DefaultSystemHeader requestHeader
            , IOmmObject requestOptionHeader1
            , IOmmObject requestOptionHeader2
            , IOmmObject requestOptionHeader3
            , Object[] requestInput
            , DefaultSystemHeader responseHeader
            )
    {
        // TODO 모듈 에러가 발생했을 때 수행할 작업을 기술 하십시오.
    }

    @Override
    protected void catchUnknownError(
            DefaultSystemHeader requestHeader
            , IOmmObject requestOptionHeader1
            , IOmmObject requestOptionHeader2
            , IOmmObject requestOptionHeader3
            , Object[] requestInput
            , Throwable cause
            )
    {
        // TODO 알 수 없는 에러가 발생했을 때 수행할 작업을 기술 하십시오.
    }

    @Override
    protected Class<DefaultSystemHeader> getHeaderClass() {
        // TODO Auto-generated method stub
        return DefaultSystemHeader.class;
    }
}
SWLab Bankware Global
  • 전체
  • BXM
  • BXCM
  • BXCP
  • BXI
제품 선택 시 더 정확한 매뉴얼 가이드를 제공해드립니다.

Copyright© Bankwareglobal All Rights Reserved.