В вашей рабочей папке создайте файл ExampleTest.m
, содержащий следующий тестовый класс.
В командной строке создайте тестовый набор из класса ExampleTest
и исполнителя тестов.
Запущение тестов.
Running ExampleTest
================================================================================
Verification failed in ExampleTest/testOne.
---------------------
Framework Diagnostic:
---------------------
verifyEqual failed.
--> The values are not equal using "isequaln".
--> Failure table:
Actual Expected Error RelativeError
______ ________________ ____________________ ____________________
3.1416 3.14159265358979 7.34641020683213e-06 2.33843499679617e-06
Actual double:
3.141600000000000
Expected double:
3.141592653589793
------------------
Stack Information:
------------------
In C:\work\ExampleTest.m (ExampleTest.testOne) at 6
================================================================================
.
================================================================================
ExampleTest/testTwo was filtered.
Details
================================================================================
.
Done ExampleTest
__________
Failure Summary:
Name Failed Incomplete Reason(s)
==================================================================
ExampleTest/testOne X Failed by verification.
------------------------------------------------------------------
ExampleTest/testTwo X Filtered by assumption.
В результате проверок в тестовом классе, первых тестовых сбоях и втором тесте не завершается.
Добавьте StopOnFailuresPlugin
в бегуна и запустите тесты.
Running ExampleTest
Test execution paused due to failure. Either click here or execute DBUP to shift context to its source: line 6 of "C:\work\ExampleTest.m".
Во время выполнения теста, когда отказ происходит, MATLAB вводит режим отладки.
Нажмите на связанное гиперссылками слово 'here'
, чтобы переключить контекст отладки к вашему источнику работы. При необходимости сделайте командное окно вашим активным окном.
In workspace belonging to ExampleTest>ExampleTest.testOne at 6
Исследуйте переменные в рабочей области.
Name Size Bytes Class Attributes
act 1x1 8 double
exp 1x1 8 double
testCase 1x1 112 ExampleTest
Теперь, можно исследовать причину непройденного теста.
Например, смотрите, передает ли тест, когда вы задаете относительный допуск 100*eps
.
Verification failed in ExampleTest/testOne.
---------------------
Framework Diagnostic:
---------------------
verifyEqual failed.
--> The values are not equal using "isequaln".
--> The error was not within relative tolerance.
--> Failure table:
Actual Expected Error RelativeError RelativeTolerance
______ ________________ ____________________ ____________________ ____________________
3.1416 3.14159265358979 7.34641020683213e-06 2.33843499679617e-06 2.22044604925031e-14
Actual double:
3.141600000000000
Expected double:
3.141592653589793
------------------
Stack Information:
------------------
In C:\work\ExampleTest.m (ExampleTest.testOne) at 6
================================================================================
Тест перестал работать даже с заданным допуском.
Выйдите из режима отладки.
================================================================================
Verification failed in ExampleTest/testOne.
---------------------
Framework Diagnostic:
---------------------
verifyEqual failed.
--> The values are not equal using "isequaln".
--> Failure table:
Actual Expected Error RelativeError
______ ________________ ____________________ ____________________
3.1416 3.14159265358979 7.34641020683213e-06 2.33843499679617e-06
Actual double:
3.141600000000000
Expected double:
3.141592653589793
------------------
Stack Information:
------------------
In C:\work\ExampleTest.m (ExampleTest.testOne) at 6
================================================================================
.
================================================================================
ExampleTest/testTwo was filtered.
Details
================================================================================
.
Done ExampleTest
__________
Failure Summary:
Name Failed Incomplete Reason(s)
==================================================================
ExampleTest/testOne X Failed by verification.
------------------------------------------------------------------
ExampleTest/testTwo X Filtered by assumption.
Чтобы ввести режим отладки для тестов, которые перестали работать предположением, таким как testTwo
в классе ExampleTest
, включают опцию 'IncludingAssumptionFailures'
для плагина.
Если при запуске исполнителя тестов, вы вводите режим отладки и для testOne
и для testTwo
.