실패한 테스트 결과 분석하기
이 예제에서는 실패한 테스트를 식별하고 다시 실행하는 방법을 보여줍니다.
잘못된 테스트 메서드 생성하기
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) 링크를 사용하여 실패한 테스트를 다시 실행할 수 있습니다.