Класс: 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 - Уровни детализации, поддерживаемые экземпляром плагина0 | 1 | 2 | 3 | 4 | matlab.unittest.Verbosity перечисление | имя перечисления в виде вектора строки или символаУровни детализации, поддерживаемые экземпляром плагина, указаны как целое число от 0 до 4, a 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' - Количество кадров стека для отображения0 (по умолчанию) | целочисленное значение | InfКоличество кадров стека, отображаемых после каждого зарегистрированного диагностического сообщения, указанного как целое значение. По умолчанию используется значение 0и тестовая инфраструктура не отображает информацию стека. Если NumStackFrames является Inf, тестовый фреймворк отображает все доступные кадры стека.
Создайте функциональный тест в файле, 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.plugins.OutputStream | matlab.unittest.plugins.ToStandardOutput | matlab.unittest.Verbosity
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.