Класс: matlab.unittest.plugins. TestReportPlugin
Пакет: matlab.unittest.plugins
Плагин построений, который представляет отчет .docx
matlab.unittest.plugins. TestReportPlugin.producingDOCX
matlab.unittest.plugins. TestReportPlugin.producingDOCX (docxFile)
matlab.unittest.plugins. TestReportPlugin.producingDOCX (docxFile, Имя, Значение)
matlab.unittest.plugins. TestReportPlugin.producingDOCX
создает плагин, который представляет .docx
отчет результатов испытаний во временной папке. Этот синтаксис эквивалентен matlab.unittest. плагины. TestReportPlugin.producingDOCX ([tempname '.docx'])
.
matlab.unittest.plugins. TestReportPlugin.producingDOCX
сохраняет отчет в файл (docxFile)
docxFile
.
matlab.unittest.plugins. TestReportPlugin.producingDOCX (
создает плагин с дополнительными опциями, заданными одним или несколькими docxFile
, Имя, Значение
)Имя,
аргументы пары Значения
.
docxFile
Имя тестового отчета.docx
Имя теста сообщает, что плагин создает, заданный как вектор символа, заканчивающийся в .docx
.
Пример: 'myReportFile.docx'
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Имя
должно появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
(docxFile, 'LoggingLevel', Многословие. Подробный)
, создает плагин, который включает диагностику, регистрируемую в и ниже Подробного
уровня.'PageOrientation'
Сообщите об ориентации'portrait'
(значение по умолчанию) | 'landscape'
Сообщите об ориентации, заданной как 'portrait'
или 'landscape'
. По умолчанию плагин представляет отчет с портретной ориентацией.
'IncludingCommandWindowText'
Включайте текст Command Window в отчетfalse
(значение по умолчанию) | true
Включайте текст Command Window в отчет, заданный как false
или true
. По умолчанию IncludingCommandWindowText
является false
и текст, вывод из Командного окна исключен из отчета. Чтобы включать текст Command Window в отчет, задайте IncludingCommandWindowText
как true
.
Типы данных: логический
'IncludingPassingDiagnostics'
Включайте передающую диагностику событияfalse
(значение по умолчанию) | true
Включайте передающую диагностику события, заданную как false
или true
. По умолчанию IncludingPassingDiagnostics
является false
, и диагностика от передающих событий исключена из отчета. Чтобы включать диагностику от передающих событий в отчете, задайте IncludingPassingDiagnostics
как 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
.
Генерация отчета результата испытаний в .docx формате
Создайте тестовый набор из двух тестовых файлов, запустите комплект и сгенерируйте отчет .docx
результатов.
Создайте новый файл в своей рабочей папке под названием ScriptBasedTest.m
, содержащий следующий тестовый скрипт. Скрипт включает два сбоя и неполные тесты.
%% Test double class expSolution = 'double'; actSolution = ones; assert(isa(actSolution,expSolution)) %% Test single class expSolution = 'single'; actSolution = ones('single'); assert(isa(actSolution,expSolution)) %% Test uint16 class expSolution = 'uint16'; actSolution = ones('uint16'); assert(isa(actSolution,expSolution)) %% Test that fails assert(false==true); %% Another test that fails assert(strcmp('correlation','causation'))
Создайте файл с именем ClassBasedTest.m
, содержащий следующий тестовый класс. Класс включает провальный тест, который, с параметризацией, приводит к девяти не пройдено результатам испытаний.
classdef ClassBasedTest < matlab.unittest.TestCase properties (ClassSetupParameter) generator = {'twister','combRecursive','multFibonacci'}; end properties (MethodSetupParameter) seed = {0,123,4294967295}; end properties (TestParameter) dim1 = struct('small',1,'medium',2,'large',3); dim2 = struct('small',2,'medium',3,'large',4); dim3 = struct('small',3,'medium',4,'large',5); type = {'single','double'}; end methods (TestClassSetup) function ClassSetup(testCase,generator) orig = rng; testCase.addTeardown(@rng,orig) rng(0, generator) end end methods (TestMethodSetup) function MethodSetup(testCase,seed) orig = rng; testCase.addTeardown(@rng,orig) rng(seed) end end methods (Test, ParameterCombination='sequential') function testSize(testCase,dim1,dim2,dim3) testCase.verifySize(rand(dim1,dim2,dim3),[dim1 dim2 dim3]) end end methods (Test, ParameterCombination='pairwise') function testRepeatable(testCase,dim1,dim2,dim3) state = rng; firstRun = rand(dim1,dim2,dim3); rng(state) secondRun = rand(dim1,dim2,dim3); testCase.verifyEqual(firstRun,secondRun); end end methods (Test) function testClass(testCase,dim1,dim2,type) testCase.verifyClass(rand(dim1,dim2,type),type) end end end
В командной строке создайте тестовый набор из обоих тестовых файлов.
import matlab.unittest.TestRunner; import matlab.unittest.TestSuite; import matlab.unittest.plugins.TestReportPlugin; suite = testsuite({'ScriptBasedTest','ClassBasedTest'})
suite = 1×284 Test array with properties: Name ProcedureName TestClass BaseFolder Parameterization SharedTestFixtures Tags Tests Include: 17 Unique Parameterizations, 0 Shared Test Fixture Classes, 0 Tags.
Создайте тихого исполнителя тестов, так, чтобы не было никакого вывода информации к командному окну. Создайте TestReportPlugin
, который отправляет вывод в файл MyTestReport.docx
.
runner = TestRunner.withNoPlugins;
docxFile = 'MyTestReport.docx';
plugin = TestReportPlugin.producingDOCX(docxFile);
Добавьте плагин к TestRunner
и запустите комплект.
runner.addPlugin(plugin); result = runner.run(suite)
Generating report. Please wait. Preparing content for the report. Adding content to the report. Writing report to file. Report has been saved to: C:\work\MyTestReport.docx result = 1×284 TestResult array with properties: Name Passed Failed Incomplete Duration Details Totals: 282 Passed, 2 Failed, 2 Incomplete. 0.73477 seconds testing time.
Откройте тестовый отчет.
open(docxFile)
.docx
, который включает передающую диагностикуСоздайте тестовый набор из функционального теста, запустите комплект и сгенерируйте отчет результатов. Включайте передающую диагностику и текст вывод к Командному окну.
Создайте новый файл в своей рабочей папке под названием FunctionBasedTest.m
, содержащий следующий функциональный тест. Тестовый файл включает два проваливающих теста.
%% Main function to generate tests function tests = FunctionBasedTest tests = functiontests(localfunctions); end %% Test Functions function passingTest(testCase) actSolution = 13*3+7*5; expSolution = 74; verifyEqual(testCase,actSolution,expSolution) end function failingTest(testCase) actSolution = single(1); verifyTrue(testCase,actSolution) end function anotherPassingTest(testCase) verifyClass(testCase,string('some text'),'string') end function anotherFailingTest(testCase) verifyTrue(testCase,strcmp('42','everything')) end
В командной строке создайте тестовый набор из FunctionBasedTest.m
m. Создайте исполнителя тестов, который отображает вывод к командному окну с помощью плагина по умолчанию.
import matlab.unittest.TestRunner; import matlab.unittest.TestSuite; import matlab.unittest.plugins.TestReportPlugin; suite = testsuite('FunctionBasedTest'); runner = TestRunner.withTextOutput;
Создайте TestReportPlugin
, который отправляет вывод в файл MyTestReport2.docx
. Включайте передающую диагностику и текст вывод из Командного окна в отчете.
docxFile = 'MyTestReport2.docx'; plugin = TestReportPlugin.producingDOCX(docxFile,... 'IncludingPassingDiagnostics',true,'IncludingCommandWindowText',true);
Добавьте плагин к TestRunner
и запустите комплект.
runner.addPlugin(plugin); result = runner.run(suite);
Running FunctionBasedTest . ================================================================================ Verification failed in FunctionBasedTest/failingTest. --------------------- Framework Diagnostic: --------------------- verifyTrue failed. --> The value must be logical. It is of type "single". Actual single: 1 ------------------ Stack Information: ------------------ In C:\Work\FunctionBasedTest.m (failingTest) at 15 ================================================================================ .. ================================================================================ Verification failed in FunctionBasedTest/anotherFailingTest. --------------------- Framework Diagnostic: --------------------- verifyTrue failed. --> The value must evaluate to "true". Actual logical: 0 ------------------ Stack Information: ------------------ In C:\Work\FunctionBasedTest.m (anotherFailingTest) at 23 ================================================================================ . Done FunctionBasedTest __________ Failure Summary: Name Failed Incomplete Reason(s) =================================================================================== FunctionBasedTest/failingTest X Failed by verification. ----------------------------------------------------------------------------------- FunctionBasedTest/anotherFailingTest X Failed by verification. Generating report. Please wait. Preparing content for the report. Adding content to the report. Writing report to file. Report has been saved to: C:\Work\MyTestReport2.docx
Откройте тестовый отчет.
open(docxFile)
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.