Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

단위 테스트를 작성하는 방법

소프트웨어 개발의 방향을 잡고 코드 기능에서 회귀 요소를 모니터링하기 위해 프로그램에 대해 단위 테스트를 작성할 수 있습니다. MATLAB® 단위 테스트 프레임워크는 다음 세 가지 테스트 작성 방법을 지원합니다.

  • 스크립트 기반 단위 테스트: 각 단위 테스트를 테스트 스크립트 파일의 별도 섹션으로 작성합니다. 기본 가설 검정을 수행하고, 프레임워크가 테스트 결과를 기록하는 진단에 액세스하고, 실행하려는 테스트를 선택하여 테스트 스위트를 미세 조정하고, TestRunner 객체를 만들고 구성하여 테스트 실행을 사용자 지정할 수 있습니다.

  • 함수 기반 단위 테스트: 각 단위 테스트를 테스트 함수 파일 내 로컬 함수로 작성합니다. 함수 기반 테스트는 xUnit 테스트 철학을 바탕으로 합니다. 함수 기반 테스트는 스크립트 기반 테스트에서 제공하는 기능을 지원하는 것 외에도 다양한 테스트 작성 기능에 액세스하도록 해 줍니다. 예를 들어, 제약 조건, 허용오차 및 테스트 진단을 포함하여 고급 가설 검정 기능을 사용할 수 있습니다.

  • 클래스 기반 단위 테스트: 각 단위 테스트를 클래스 정의 파일 내 Test 메서드로 작성합니다. 클래스 기반 테스트는 스크립트 기반 테스트와 함수 기반 테스트에서 제공되는 기능을 지원하는 것 외에도 다양한 고급 테스트 작성 기능을 제공하며 전체 프레임워크 기능에 액세스하도록 해 줍니다. 예를 들어, 공유된 테스트 픽스처를 사용하고, 테스트를 파라미터화하고, 테스트 콘텐츠를 재사용할 수 있습니다.

Test authoring schemes in order of increasing functionality: script-based tests, function-based tests, and class-based tests

스크립트 기반 단위 테스트

스크립트 기반 테스트를 사용하여 다음을 수행할 수 있습니다.

  • 테스트 간에 공유할 변수를 정의하거나 테스트에 필요한 사전 조건을 정의합니다.

  • assert 함수를 사용하여 기본 가설 검정을 수행합니다. 예를 들어, assert(isequal(actVal,expVal))을 사용하여 실제 값과 예상 값이 같음을 어설션할 수 있습니다. (고급 가설 검정 기능은 함수 기반 테스트와 클래스 기반 테스트에만 지원됩니다.)

  • 프레임워크가 기록한 테스트 진단에 액세스합니다. 자세한 내용은 테스트 진단에 프로그래밍적으로 접근하기 항목을 참조하십시오. (고급 진단 동작은 함수 기반 테스트와 클래스 기반 테스트에만 지원됩니다.)

통상적으로 스크립트 기반 테스트에서는 Test 요소 모음을 명시적으로 생성하지 않고, 테스트 파일을 만들어 이 파일 이름을 runtests 함수로 전달합니다. 명시적인 테스트 스위트를 생성한 경우(testsuite 함수 또는 matlab.unittest.TestSuite 클래스의 메서드 사용) 스크립트 기반 테스트에서 추가 기능을 사용할 수 있습니다. 명시적인 테스트 스위트를 사용하여 다음을 수행할 수 있습니다.

  • 테스트 스위트를 미세 조정합니다. 일례로 matlab.unittest.selectors 패키지의 클래스를 사용할 수 있습니다. (몇 가지 선택기는 클래스 기반 테스트에만 적용할 수 있습니다.)

  • TestRunner 객체를 만들고 이를 사용자 지정하여 원하는 테스트를 실행합니다. matlab.unittest.plugins 패키지의 플러그인 클래스를 테스트 실행기에 추가할 수 있습니다.

스크립트 기반 테스트에 대한 자세한 내용은 스크립트 기반 단위 테스트 작성하기스크립트 기반 테스트 확장하기 항목을 참조하십시오.

함수 기반 단위 테스트

함수 기반 테스트는 스크립트 기반 테스트에서 제공하는 기능을 지원합니다. 또한 함수 기반 테스트를 사용하여 다음을 수행할 수 있습니다.

함수 기반 테스트에 대한 자세한 내용은 함수 기반 단위 테스트 작성하기함수 기반 테스트 확장하기 항목을 참조하십시오.

클래스 기반 단위 테스트

클래스 기반 테스트는 스크립트 기반 테스트와 함수 기반 테스트에서 제공하는 기능을 지원합니다. 또한 클래스 기반 테스트를 사용하여 다음을 수행할 수 있습니다.

클래스 기반 테스트에 대한 자세한 내용은 MATLAB에서 클래스 기반 단위 테스트 작성하기 항목을 참조하십시오.

단위 테스트 프레임워크 확장하기

단위 테스트 프레임워크는 테스트 툴 작성자에게 사용자 지정 제약 조건, 진단, 픽스처 및 플러그인을 통해 테스트 작성을 확장할 수 있는 기능을 제공합니다. 예를 들어, 사용자 지정 플러그인을 만들고 이를 사용하여 스크립트 기반 단위 테스트, 함수 기반 단위 테스트 또는 클래스 기반 단위 테스트를 실행할 때 테스트 실행기를 확장할 수 있습니다. 자세한 내용은 단위 테스트 프레임워크 확장하기 항목을 참조하십시오.

관련 항목