Пакет: matlab.unittest.plugins
Плагин к прямой диагностике к потоку вывода
Класс DiagnosticsOutputPlugin
создает плагин к прямой диагностике к потоку вывода. Чтобы сконфигурировать тип диагностики и уровня детализации что среда тестирования выходные параметры, добавьте этот плагин в экземпляр TestRunner
.
matlab.unittest.plugins.DiagnosticsOutputPlugin
создает плагин, который направляет диагностику для не пройдено событий и для событий, регистрируемых на уровне Verbosity.Terse
к потоку ToStandardOutput
.
matlab.unittest.plugins.DiagnosticsOutputPlugin(
диагностика перенаправлений к заданному потоку вывода. Например, можно перенаправить вывод к потоковому созданию с помощью stream
)ToFile
.
matlab.unittest.plugins.DiagnosticsOutputPlugin(___,
создает плагин с дополнительными опциями, заданными одним или несколькими аргументами пары Name,Value
)Name,Value
. Например, DiagnosticsOutputPlugin('LoggingLevel',4,'IncludingPassingDiagnostics',true)
создает плагин, который отображает диагностику, регистрируемую на любом уровне, и также отображает передающую диагностику.
поток
Выведите местоположениеToStandardOutput
(значение по умолчанию) | экземпляр matlab.unittest.plugins.OutputStream
Выведите местоположение, заданное как экземпляр класса OutputStream
. Плагин направляет диагностическую информацию к заданному местоположению. По умолчанию плагин использует поток matlab.unittest.plugins.ToStandardOutput
.
Пример: matlab.unittest.plugins.ToFile('myFile.txt')
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
DiagnosticsOutputPlugin('IncludingPassingDiagnostics',true,'OutputDetail',4)
создает плагин, который включает передающую диагностику и диагностику отображений на многословном уровне детализации.'ExcludingFailureDiagnostics'
— Исключите диагностику из провальных событийИсключить ли диагностику из провальных событий, заданных как false
или true
. По умолчанию плагин включает диагностику от провальных событий.
Типы данных: логический
'IncludingPassingDiagnostics'
Включайте передающую диагностику событияfalse
(значение по умолчанию) | true
Включать ли передающую диагностику события, заданную как false
или true
. По умолчанию плагин не включает диагностику от передающих событий.
Типы данных: логический
'LoggingLevel'
— Максимальный уровень регистрируемой диагностикиmatlab.unittest.Verbosity
| имя перечисления как строка или символьный векторМаксимальный уровень, в который регистрируемая диагностика включена сменным экземпляром, задал как целочисленное значение от 0 до 4, объект перечисления matlab.unittest.Verbosity
, или скаляр строки или вектор символов, соответствующий одному из предопределенных имен элемента перечисления. Плагин включает диагностику, которая регистрируется на этом уровне и ниже. Целочисленные значения соответствуют участникам перечисления matlab.unittest.Verbosity
.
Числовое представление | Имя элемента перечисления | Описание многословия |
---|---|---|
0 | None | Никакая информация |
1 | Terse | Минимальная информация |
2 | Concise | Умеренный объем информации |
3 | Detailed | Некоторая дополнительная информация |
4 | Verbose | Большая дополнительная информация |
По умолчанию плагин включает диагностику, регистрируемую в уровень matlab.unittest.Verbosity.Terse
(уровень 1). Чтобы исключить регистрируемую диагностику, задайте LoggingLevel
как Verbosity.None
(уровень 0).
Регистрируемая диагностика является диагностикой, которую вы предоставляете к среде тестирования вызов метода Fixture.log
или TestCase.log
.
'OutputDetail'
— Уровень детализации для событий, о которых сообщают,matlab.unittest.Verbosity
| имя перечисления как строка или символьный векторУровень детализации для событий, о которых сообщают, заданных как целочисленное значение от 0 до 4, объект перечисления matlab.unittest.Verbosity
, или скаляр строки или вектор символов, соответствующий одному из предопределенных имен элемента перечисления. Целочисленные значения соответствуют участникам перечисления matlab.unittest.Verbosity
.
Сменная передача отчетов, сбой и регистрируемые события с суммой детали заданы OutputDetail
. По умолчанию плагин записывает события на уровне matlab.unittest.Verbosity.Detailed
(уровень 3).
Числовое представление | Имя элемента перечисления | Описание многословия |
---|---|---|
0 | None | Никакая информация |
1 | Terse | Минимальная информация |
2 | Concise | Умеренный объем информации |
3 | Detailed | Некоторая дополнительная информация |
4 | Verbose | Большая дополнительная информация |
ExcludeFailureDiagnostics
— Индикатор, если диагностика для провальных событий исключенаfalse
(значение по умолчанию) | true
Это свойство доступно только для чтения.
Индикатор, если диагностика для провальных событий исключена, задал как false
или true
(logical
0 или 1). По умолчанию ExcludeFailureDiagnostics
является false
, и диагностика от провальных событий включена в вывод. Чтобы исключить диагностику из провальных событий от вывода, задайте ExcludeFailureDiagnostics
как true
во время сменной конструкции.
IncludePassingDiagnostics
Индикатор, если диагностика для передающих событий включенаfalse
(значение по умолчанию) | true
Это свойство доступно только для чтения.
Индикатор, если диагностика для передающих событий включена, задал как false
или true
(logical
0 или 1). По умолчанию IncludePassingDiagnostics
является false
, и диагностика от передающих событий исключена из вывода. Чтобы включать диагностику от передающих событий в выводе, задайте IncludePassingDiagnostics
как true
во время сменной конструкции.
LoggingLevel
— Максимальный уровень многословия для регистрируемой диагностики включен плагиномmatlab.unittest.Verbosity.Terse
(значение по умолчанию) | объект перечисления matlab.unittest.Verbosity
Это свойство доступно только для чтения.
Максимальный уровень многословия для регистрируемой диагностики, включенной плагином, возвращенным как объект перечисления matlab.unittest.Verbosity
. Плагин включает диагностику, которая регистрируется на этом уровне и ниже. По умолчанию этим значением свойства является matlab.unittest.Verbosity.Terse
. Можно задать различный уровень журналирования во время сменной конструкции.
Регистрируемая диагностика является диагностикой, которую вы предоставляете к среде тестирования вызов метода Fixture.log
или TestCase.log
.
OutputDetail
— Уровень детализации для событий, о которых сообщают,Detailed
(значение по умолчанию) | matlab.unittest. Экземпляр многословияЭто свойство доступно только для чтения.
Уровень детализации для событий, о которых сообщают, возвращенных как объект перечисления matlab.unittest.Verbosity
. По умолчанию этим значением свойства является matlab.unittest.Verbosity.Detailed
. Можно задать различный выходной уровень детализации во время сменной конструкции.
Указатель. Чтобы узнать, как классы Handle влияют на операции копирования, см. раздел "Копирование объектов".
Создайте файл ExampleDiagOutputTest.m
, содержащий следующий тестовый класс.
classdef ExampleDiagOutputTest < matlab.unittest.TestCase methods(Test) function testOne(testCase) import matlab.unittest.Verbosity testCase.log(Verbosity.Detailed,'Testing failing event') testCase.verifyEqual(42,13,'42 == 13') end function testTwo(testCase) testCase.log(3,'Testing passing event') testCase.verifyTrue(true,'true is true') end end end
Создайте тестовый набор из класса ExampleDiagOutputTest
. Создайте исполнителя тестов без плагинов.
import matlab.unittest.TestRunner import matlab.unittest.TestSuite import matlab.unittest.Verbosity import matlab.unittest.plugins.DiagnosticsOutputPlugin suite = TestSuite.fromClass(?ExampleDiagOutputTest); runner = TestRunner.withNoPlugins();
Создайте DiagnosticsOutputPlugin
по умолчанию, добавьте его в бегуна и запустите тесты.
plugin = DiagnosticsOutputPlugin; runner.addPlugin(plugin); result = runner.run(suite);
================================================================================ Verification failed in ExampleDiagOutputTest/testOne. ---------------- Test Diagnostic: ---------------- 42 == 13 --------------------- Framework Diagnostic: --------------------- verifyEqual failed. --> The values are not equal using "isequaln". --> Failure table: Actual Expected Error RelativeError ______ ________ _____ ________________ 42 13 29 2.23076923076923 Actual Value: 42 Expected Value: 13 ------------------ Stack Information: ------------------ In C:\work\ExampleDiagOutputTest.m (ExampleDiagOutputTest.testOne) at 5 ================================================================================ Failure Summary: Name Failed Incomplete Reason(s) ============================================================================ ExampleDiagOutputTest/testOne X Failed by verification.
Создайте другого исполнителя тестов и DiagnosticsOutputPlugin
, который отображает диагностику, включая передающую диагностику, на уровне Terse
, и отображает диагностику, которая регистрируется на уровне Detailed
или ниже. Добавьте его в бегуна и повторно выполните тесты.
runner = TestRunner.withNoPlugins(); plugin = DiagnosticsOutputPlugin('OutputDetail',Verbosity.Terse, ... 'LoggingLevel',3,'IncludingPassingDiagnostics',true); runner.addPlugin(plugin); result = runner.run(suite);
[Detailed] Diagnostic logged (2018-04-13 13:47:34): Testing failing event FAIL: ExampleDiagOutputTest/testOne in ExampleDiagOutputTest.testOne at 6 :: verifyEqual failed. [Detailed] Diagnostic logged (2018-04-13 13:47:34): Testing passing event PASS: ExampleDiagOutputTest/testTwo in ExampleDiagOutputTest.testTwo at 10 :: verifyTrue passed.
matlab.unittest.TestRunner
| matlab.unittest.Verbosity
| matlab.unittest.plugins.OutputStream
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.