Пакет: matlab.unittest.plugins
Подключаемый модуль, сообщающий о ходе выполнения теста
TestRunProgressPlugin создает подключаемый модуль, который сообщает о ходе выполнения теста.
matlab.unittest.plugins.TestRunProgressPlugin.withVerbosity( создает v)TestRunProgressPlugin для указанной детализации.
matlab.unittest.plugins.TestRunProgressPlugin.withVerbosity( перенаправляет вывод текста в выходной поток.v,stream)
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 в качестве потока.
Ручка. Сведения о том, как классы обработки влияют на операции копирования, см. в разделе Копирование объектов.
Создайте функциональный тест с именем cylinderPlotTest в файле в рабочей папке.
function tests = cylinderPlotTest tests = functiontests(localfunctions); end function setupOnce(testCase) testCase.TestData.Figure = figure; addTeardown(testCase,@close,testCase.TestData.Figure) end function setup(testCase) testCase.TestData.Axes = axes('Parent',testCase.TestData.Figure); addTeardown(testCase,@clf,testCase.TestData.Figure) cylinder(testCase.TestData.Axes,10) end function testXLim(testCase) xlim = testCase.TestData.Axes.XLim; verifyLessThanOrEqual(testCase,xlim(1),-10,'Minimum x-limit too large') verifyGreaterThanOrEqual(testCase,xlim(2),10,'Maximum x-limit too small') end function zdataTest(testCase) s = findobj(testCase.TestData.Axes,'Type','surface'); verifyEqual(testCase,min(s.ZData(:)),0,'Min cylinder value is incorrect') verifyEqual(testCase,max(s.ZData(:)),1,'Max cylinder value is incorrect') end
В командной строке запустите тест.
results = run(cylinderPlotTest);
Running cylinderPlotTest .. Done cylinderPlotTest __________
По умолчанию тестовый питатель использует уровень детализации 2.
Создайте тестовый питатель, чтобы сообщить о диагностике на уровне 1, и повторно запустите тест.
import matlab.unittest.TestRunner import matlab.unittest.plugins.TestRunProgressPlugin runner = TestRunner.withNoPlugins; p = TestRunProgressPlugin.withVerbosity(1); runner.addPlugin(p); results = runner.run(cylinderPlotTest);
..
Создайте тестовый питатель, чтобы сообщить о диагностике на уровне 4, и повторно запустите тест.
runner = TestRunner.withNoPlugins; p = TestRunProgressPlugin.withVerbosity(4); runner.addPlugin(p); results = runner.run(cylinderPlotTest);
Running cylinderPlotTest
Setting up cylinderPlotTest
Evaluating TestClassSetup: setupOnce
Done setting up cylinderPlotTest in 0.067649 seconds
Running cylinderPlotTest/testXLim
Evaluating TestMethodSetup: setup
Evaluating Test: testXLim
Evaluating TestMethodTeardown: teardown
Evaluating addTeardown function: clf
Done cylinderPlotTest/testXLim in 0.053834 seconds
Running cylinderPlotTest/zdataTest
Evaluating TestMethodSetup: setup
Evaluating Test: zdataTest
Evaluating TestMethodTeardown: teardown
Evaluating addTeardown function: clf
Done cylinderPlotTest/zdataTest in 0.037715 seconds
Tearing down cylinderPlotTest
Evaluating TestClassTeardown: teardownOnce
Evaluating addTeardown function: close
Done tearing down cylinderPlotTest in 0.022783 seconds
Done cylinderPlotTest in 0.18198 seconds
__________Создание класса с именем ExampleProgressTest в файле в текущей рабочей папке.
classdef ExampleProgressTest < matlab.unittest.TestCase methods(Test) function testOne(testCase) % Test fails testCase.verifyEqual(5,4) end function testTwo(testCase) % Test passes testCase.verifyEqual(5,5) end end end
В командной строке создайте набор тестов и питатель на уровне детализации 3, а затем запустите тест.
import matlab.unittest.TestSuite import matlab.unittest.TestRunner import matlab.unittest.plugins.TestRunProgressPlugin suite = TestSuite.fromClass(?ExampleProgressTest); runner = TestRunner.withNoPlugins; p = TestRunProgressPlugin.withVerbosity(3); runner.addPlugin(p); results = runner.run(suite);
Running ExampleProgressTest Setting up ExampleProgressTest Done setting up ExampleProgressTest in 0 seconds Running ExampleProgressTest/testOne Done ExampleProgressTest/testOne in 0.0049988 seconds Running ExampleProgressTest/testTwo Done ExampleProgressTest/testTwo in 0.0044541 seconds Tearing down ExampleProgressTest Done tearing down ExampleProgressTest in 0 seconds Done ExampleProgressTest in 0.0094529 seconds __________
Создание нового подключаемого модуля для направления выходных данных в файл с именем myOutput.logи повторно запустите тесты.
import matlab.unittest.plugins.ToFile outFile = 'myOutput.log'; runner = TestRunner.withNoPlugins; p = TestRunProgressPlugin.withVerbosity(3,ToFile(outFile)); runner.addPlugin(p); results = runner.run(suite);
Просмотрите содержимое файла, созданного плагином.
disp(fileread(outFile))
Running ExampleProgressTest Setting up ExampleProgressTest Done setting up ExampleProgressTest in 0 seconds Running ExampleProgressTest/testOne Done ExampleProgressTest/testOne in 0.0050172 seconds Running ExampleProgressTest/testTwo Done ExampleProgressTest/testTwo in 0.0049449 seconds Tearing down ExampleProgressTest Done tearing down ExampleProgressTest in 0 seconds Done ExampleProgressTest in 0.009962 seconds __________
matlab.unittest.plugins.OutputStream | matlab.unittest.plugins.TestRunnerPlugin | matlab.unittest.plugins.ToStandardOutput | matlab.unittest.TestRunner | matlab.unittest.Verbosity
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.