Класс: matlab.unittest.plugins.LoggingPlugin
Пакет: matlab.unittest.plugins
Создайте LoggingPlugin для сообщений заданного многословия
matlab.unittest.plugins.LoggingPlugin.withVerbosity(v)
matlab.unittest.plugins.LoggingPlugin.withVerbosity(v,stream)
matlab.unittest.plugins.LoggingPlugin.withVerbosity(v,Name,Value)
matlab.unittest.plugins.LoggingPlugin.withVerbosity(
создает v
)LoggingPlugin
для сообщений заданного многословия.
matlab.unittest.plugins.LoggingPlugin.withVerbosity(
перенаправляет вывод текста к потоку вывода.v
,stream
)
matlab.unittest.plugins.LoggingPlugin.withVerbosity(
включает дополнительные опции, заданные одним или несколькими v
,Name,Value
)Name,Value
парные аргументы.
v
— Уровни многословия поддержаны сменным экземпляром
| 1
| 2
| 3
| 4
| matlab.unittest.Verbosity
перечисление | имя перечисления как строка или символьный векторУровни многословия поддержаны сменным экземпляром, заданным как целочисленное значение между 0 и 4, matlab.unittest.Verbosity
объект перечисления, или скаляр строки или вектор символов, соответствующий одному из предопределенных имен элемента перечисления. Плагин реагирует на диагностику, которая регистрируется на этом уровне и ниже. Целочисленные значения соответствуют членам matlab.unittest.Verbosity
перечисление.
Числовое представление | Имя элемента перечисления | Описание многословия |
---|---|---|
0
| None | Никакая информация |
1
| Terse | Минимальная информация |
2
| Concise | Умеренный объем информации |
3
| Detailed | Некоторая дополнительная информация |
4
| Verbose | Большая дополнительная информация |
stream
— Местоположение, где плагин направляет вывод текстаToStandardOutput
экземпляр (значение по умолчанию) | OutputStream
экземплярМестоположение, где плагин направляет вывод текста, заданный как OutputStream
экземпляр. По умолчанию плагин использует OutputStream
разделите на подклассы ToStandardOutput
как поток.
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'Description'
— Регистрируемое диагностическое описание сообщения'Diagnostic logged'
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиРегистрируемое диагностическое описание сообщения, заданное как вектор символов или скаляр строки. Это значение распечатано вместе с каждым регистрируемым диагностическим сообщением. Если пустое значение, среда тестирования не отображает описание.
'ExcludingLowerLevels'
— Индикатор, чтобы отобразить сообщения, регистрируемые на уровнях ниже, чем уровень многословияfalse
(значение по умолчанию) | true
Индикатор, чтобы отобразить сообщения, регистрируемые на уровнях ниже, чем уровень многословия, v
, заданный как false
или true
(logical(0)
или logical(1)
). По умолчанию значением является false
и плагин реагирует на все сообщения, регистрируемые на уровне v
или ниже. Если значением является true
, плагин реагирует только на сообщения, регистрируемые на уровне v
.
'HideLevel'
— Индикатор, чтобы отобразить уровень многословияfalse
(значение по умолчанию) | true
Индикатор, чтобы отобразить уровень многословия вместе с каждой регистрируемой диагностикой, заданной как false
или true
(logical(0)
или logical(1)
). По умолчанию значением является false
и среда тестирования отображает уровень многословия.
'HideTimestamp'
— Индикатор, чтобы отобразить метку времениfalse
(значение по умолчанию) | true
Индикатор, чтобы отобразить метку времени от того, когда среда тестирования генерирует регистрируемое сообщение вместе с каждой регистрируемой диагностикой, заданной как false
или true
(logical(0)
или logical(1)
). По умолчанию значением является false
и среда тестирования отображает метку времени.
'NumStackFrames'
— Количество стековых фреймов, чтобы отобразиться
(значение по умолчанию) | целочисленное значение | Inf
Количество стековых фреймов, чтобы отобразиться после каждого регистрируемого диагностического сообщения, заданного как целочисленное значение. По умолчанию значением является 0
, и среда тестирования не отображает данные стека. Если NumStackFrames
isinf
, среда тестирования отображает все доступные стековые фреймы.
Создайте функциональный тест в файле, sampleLogTest.m
, в вашей рабочей папке.
function tests = sampleLogTest tests = functiontests(localfunctions); function svdTest(testCase) import matlab.unittest.Verbosity log(testCase,'Generating matrix.'); m = rand(1000); log(testCase,1,'About to call SVD.'); [U,S,V] = svd(m); log(testCase,Verbosity.Terse,'SVD finished.'); verifyEqual(testCase,U*S*V',m,'AbsTol',1e-6)
В командной строке, запущенной тест.
results = run(sampleLogTest);
Running sampleLogTest [Terse] Diagnostic logged (2014-04-14T14:20:59): About to call SVD. [Terse] Diagnostic logged (2014-04-14T14:20:59): SVD finished. . Done sampleLogTest __________
Бегун по умолчанию сообщает о диагностике на уровне 1 (Terse
).
Создайте исполнителя тестов, чтобы сообщить о диагностике на уровнях 1 и 2 и повторно выполнить тест.
import matlab.unittest.TestRunner import matlab.unittest.plugins.LoggingPlugin runner = TestRunner.withNoPlugins; p = LoggingPlugin.withVerbosity(2); runner.addPlugin(p); results = runner.run(sampleLogTest);
[Concise] Diagnostic logged (2014-04-14T14:28:14): Generating matrix. [Terse] Diagnostic logged (2014-04-14T14:28:14): About to call SVD. [Terse] Diagnostic logged (2014-04-14T14:28:15): SVD finished.
Создайте следующий класс В файле в вашей текущей рабочей папке, ExampleLogTest.m
.
classdef ExampleLogTest < matlab.unittest.TestCase methods(Test) function testOne(testCase) % Test fails log(testCase,3,'Starting Test') log(testCase,'Testing 5==4') testCase.verifyEqual(5,4) log(testCase,4,'Test Complete') end function testTwo(testCase) % Test passes log(testCase,matlab.unittest.Verbosity.Detailed,'Starting Test') log(testCase,'Testing 5==5') testCase.verifyEqual(5,5) log(testCase,matlab.unittest.Verbosity.Verbose,'Test Complete') end end end
Журнал обменивается сообщениями в testTwo
использование Verbosity
перечисления вместо соответствующих целых чисел.
В командной строке создайте тестовый набор и бегуна на уровне 4 многословия, и затем запустите тест.
import matlab.unittest.TestSuite import matlab.unittest.TestRunner import matlab.unittest.plugins.LoggingPlugin suite = TestSuite.fromClass(?ExampleLogTest); runner = TestRunner.withNoPlugins; p = LoggingPlugin.withVerbosity(4); runner.addPlugin(p); results = runner.run(suite);
[Detailed] Diagnostic logged (2014-04-14T15:24:03): Starting Test [Concise] Diagnostic logged (2014-04-14T15:24:03): Testing 5==4 [Verbose] Diagnostic logged (2014-04-14T15:24:03): Test Complete [Detailed] Diagnostic logged (2014-04-14T15:24:03): Starting Test [Concise] Diagnostic logged (2014-04-14T15:24:03): Testing 5==5 [Verbose] Diagnostic logged (2014-04-14T15:24:03): Test Complete
Создайте новый плагин, чтобы направить выход к файлу, myOutput.log
, и повторно выполненный тесты.
import matlab.unittest.plugins.ToFile outFile = 'myOutput.log'; runner = TestRunner.withNoPlugins; p = LoggingPlugin.withVerbosity(4,ToFile(outFile)); runner.addPlugin(p); results = runner.run(suite);
Наблюдайте содержимое в файле, созданном плагином.
disp(fileread(outFile))
[Detailed] Diagnostic logged (2014-04-14T15:27:44): Starting Test [Concise] Diagnostic logged (2014-04-14T15:27:44): Testing 5==4 [Verbose] Diagnostic logged (2014-04-14T15:27:44): Test Complete [Detailed] Diagnostic logged (2014-04-14T15:27:44): Starting Test [Concise] Diagnostic logged (2014-04-14T15:27:44): Testing 5==5 [Verbose] Diagnostic logged (2014-04-14T15:27:44): Test Complete
Создайте новый плагин, который не отображает сообщения уровня 4. Не отображайте уровень многословия или метку времени. Повторно выполните тесты.
runner = TestRunner.withNoPlugins; p = LoggingPlugin.withVerbosity(matlab.unittest.Verbosity.Detailed,... 'HideLevel',true,'HideTimestamp',true); runner.addPlugin(p); results = runner.run(suite);
Diagnostic logged: Starting Test Diagnostic logged: Testing 5==4 Diagnostic logged: Starting Test Diagnostic logged: Testing 5==5
log
| log
| matlab.unittest.Verbosity
| matlab.unittest.plugins.OutputStream
| matlab.unittest.plugins.ToStandardOutput
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.