В файле в вашей рабочей директории создайте новый класс потока вывода в файле ToFigure.m
m. Этот класс позволяет сменному выводу быть перенаправленным фигуре.
Этот класс использует два свойства. Figure
является фигурой, которая получает и отображает вывод. ListBox
является указателем на поле списка, которое отображает текст.
В том же файле добавьте следующий блок methods
.
Необходимо реализовать метод print
для любого подкласса OutputStream
. В этом примере метод создает новую фигуру (при необходимости), форматирует входящий текст, и затем добавляет его к потоку вывода.
В том же файле добавьте следующий блок methods
, содержащий функцию помощника, чтобы создать фигуру.
В новом файле в вашей рабочей папке создайте ExampleTest.m
, содержащий следующий тестовый класс.
Проверка verifyEqual
в testOne
вызывает непройденный тест. Проверки в testOne
и testTwo
включают экземпляр matlab.unittest.diagnostics.StringDiagnostic
.
В командной строке создайте тестовый набор из класса ExampleTest
.
Создайте исполнителя тестов, который отображает вывод к командному окну.
Создайте DiagnosticsValidationPlugin
, который явным образом указывает, что его вывод должен перейти к фигуре через поток вывода ToFigure
.
Добавьте плагин к TestRunner
и запустите комплект.
Running ExampleTest
================================================================================
Verification failed in ExampleTest/testOne.
----------------
Test Diagnostic:
----------------
Testing 5==4
---------------------
Framework Diagnostic:
---------------------
verifyEqual failed.
--> The values are not equal using "isequaln".
--> Failure table:
Actual Expected Error RelativeError
______ ________ _____ _____________
5 4 1 0.25
Actual double:
5
Expected double:
4
------------------
Stack Information:
------------------
In C:\work\ExampleTest.m (ExampleTest.testOne) at 4
================================================================================
...
Done ExampleTest
__________
Failure Summary:
Name Failed Incomplete Reason(s)
==================================================================
ExampleTest/testOne X Failed by verification.
Только непройденные тесты производят вывод для экрана. По умолчанию TestRunner.withTextOutput
использует DiagnosticsOutputPlugin
, чтобы отобразить вывод на экране.
В дополнение к тексту по умолчанию вывод, отображаемый на экране, DiagnosticsValidationPlugin
, вывод направлен к прикрепленной фигуре. Данные показывают следующий текст.
------------------------------
Validation of Test Diagnostic:
------------------------------
Testing 5==4
------------------------------
Validation of Test Diagnostic:
------------------------------
Testing 5==5
DiagnosticsValidationPlugin
отображает диагностическую информацию независимо от того, сталкиваются ли тесты с условиями отказа.