Этот пример показывает, как идентифицировать и повторно выполнить проваленные тесты.
Используя тест SolverTest
, добавьте метод, testBadRealSolution
. Этот тест, на основе testRealSolution
, вызывает функцию quadraticSolver
с входными параметрами 1,3,2
, но тестирует результаты против неправильного решения, [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
.
Отредактируйте значение expSolution
в testBadRealSolution
:
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)
в результатах испытаний.