실패한 테스트 결과 분석하기
이 예제에서는 실패한 테스트를 식별하고 다시 실행하는 방법을 보여줍니다.
잘못된 테스트 메서드 생성하기
SolverTest
테스트 케이스를 사용하여 메서드 testBadRealSolution
을 추가하십시오. testRealSolution
을 기반으로 하는 이 테스트는 입력값 1,3,2
를 사용하여 quadraticSolver
함수를 호출하지만 그 결과를 잘못된 해 [2,1]
에 대해 테스트합니다.
function testBadRealSolution(testCase) actSolution = quadraticSolver(1,3,2); expSolution = [2,1]; testCase.verifyEqual(actSolution,expSolution) end
새 테스트 스위트 실행하기
업데이트된 SolverTest
클래스 정의를 저장하고 테스트를 다시 실행하십시오.
quadTests = matlab.unittest.TestSuite.fromClass(?SolverTest); result1 = run(quadTests);
Running SolverTest .. ================================================================================ Verification failed in SolverTest/testBadRealSolution. --------------------- Framework Diagnostic: --------------------- verifyEqual failed. --> The values are not equal using "isequaln". --> Failure table: Index Actual Expected Error RelativeError _____ ______ ________ _____ _____________ 1 -1 2 -3 -1.5 2 -2 1 -3 -3 Actual Value: -1 -2 Expected Value: 2 1 ------------------ Stack Information: ------------------ In C:\work\SolverTest.m (SolverTest.testBadRealSolution) at 19 ================================================================================ . Done SolverTest __________ Failure Summary: Name Failed Incomplete Reason(s) ============================================================================= SolverTest/testBadRealSolution X Failed by verification.
결과 분석하기
출력값이 SolverTest/testBadRealSolution
실패를 알립니다. Framework Diagnostic
에서 다음 내용을 볼 수 있습니다.
Actual Value: -1 -2 Expected Value: 2 1
이때, 사용자는 오류가 quadraticSolver
에 있는지 아니면 expSolution
의 값에 있는지 판단해야 합니다.
오류 수정하기
testBadRealSolution
에서 expSolution
의 값을 편집하십시오.
expSolution = [-1 -2];
테스트 다시 실행하기
SolverTest
를 저장하고 실패한 테스트만 다시 실행하십시오.
failedTests = quadTests([result1.Failed]); result2 = run(failedTests)
Running SolverTest . Done SolverTest __________ result2 = TestResult with properties: Name: 'SolverTest/testBadRealSolution' Passed: 1 Failed: 0 Incomplete: 0 Duration: 0.0108 Details: [1x1 struct] Totals: 1 Passed, 0 Failed, 0 Incomplete. 0.010813 seconds testing time.
또는 테스트 결과에서 (rerun)
링크를 사용하여 실패한 테스트를 다시 실행할 수 있습니다.