Запущение тестов для различных рабочих процессов

Подготовка тестов в качестве примера

Чтобы исследовать различные способы запустить тесты, создайте основанный на классах тест и функциональный тест в вашей текущей рабочей папке. Поскольку основанный на классах тестовый файл использует DocPolynomTest тест в качестве примера представлен в matlab.unittest.qualifications.Verifiable пример. Поскольку функциональный тестовый файл использует axesPropertiesTest тест в качестве примера, представленный в Тесте записи Используя Setup и Функции Отключения.

Запущение всех тестов в классе или функции

Используйте run метод TestCase класс, чтобы непосредственно запустить тесты, содержавшиеся в одном тестовом файле. При запущении тестов непосредственно, вы не должны явным образом создавать Test массив.

% Directly run a single file of class-based tests
results1 = run(DocPolynomTest); 

% Directly run a single file of function-based tests
results2 = run(axesPropertiesTest);

Можно также присвоить тестовый файл выход переменной и запустить тесты с помощью функциональной формы или записи через точку.

% Create Test or TestCase objects
t1 = DocPolynomTest;      % TestCase object from class-based test
t2 = axesPropertiesTest;  % Test object from function-based test

% Run tests using functional form
results1 = run(t1); 
results2 = run(t2);

% Run tests using dot notation
results1 = t1.run; 
results2 = t2.run;

В качестве альтернативы можно запустить тесты, содержавшиеся в одном файле при помощи runtests или из Редактора.

Запущение единственного теста в классе или функции

Запустите один тест из основанного на классах тестового файла путем определения метода тестирования как входного параметра к run метод. Например, только запустите тест, testMultiplication, от DocPolynomTest файл.

results1 = run(DocPolynomTest,'testMultiplication');

Функциональные тестовые файлы возвращают массив Test объекты вместо одного TestCase объект. Можно запустить конкретный тест путем индексации в массив. Однако необходимо исследовать Name поле в тестовом массиве, чтобы убедиться вы запускаете правильный тест. Например, только запустите тест, surfaceColorTest, от axesPropertiesTest файл.

t2 = axesPropertiesTest;  % Test object from function-based test
t2(:).Name
ans =

axesPropertiesTest/testDefaultXLim


ans =

axesPropertiesTest/surfaceColorTest

surfaceColorTest тест соответствует второму элементу в массиве.

Только запустите surfaceColorTest тест.

results2 = t2(2).run; % or results2 = run(t2(2));

В качестве альтернативы можно запустить один тест из Редактора.

Запуск набора тестов по наименованию

Можно запустить группу или комплект, тестов вместе. Запускать тестовый набор с помощью runtests, комплект задан как массив ячеек из символьных векторов, представляющий тестовый файл, тестовый класс, пакет, который содержит тесты или папку, которая содержит тесты.

suite = {'axesPropertiesTest','DocPolynomTest'};
runtests(suite);

Запустите все тесты в текущей папке с помощью pwd как введено к runtests функция.

 runtests(pwd);

В качестве альтернативы можно явным образом создать Test массивы и использование run метод, чтобы запустить их.

Запуск набора тестов от тестового массива

Можно явным образом создать Test массивы и использование run метод в TestSuite класс, чтобы запустить их. Используя этот подход, вы явным образом задаете TestSuite объекты и, поэтому, могут исследовать содержимое. runtests функция не возвращает TestSuite объект.

import matlab.unittest.TestSuite
s1 = TestSuite.fromClass(?DocPolynomTest);
s2 = TestSuite.fromFile('axesPropertiesTest.m');

% generate test suite and then run
fullSuite = [s1 s2];
result = run(fullSuite); 

Поскольку комплект явным образом задан, для вас легко выполнить последующий анализ на комплекте, таком как повторное выполнение проваленных тестов.

failedTests = fullSuite([result.Failed]);
result2 = run(failedTests);

Запущение тестов с индивидуально настраиваемым исполнителем тестов

Можно специализировать тест, запускающийся путем определения пользовательского исполнителя тестов и добавления плагинов. run метод TestRunner класс работает с TestSuite объект.

import matlab.unittest.TestRunner
import matlab.unittest.TestSuite
import matlab.unittest.plugins.TestRunProgressPlugin

% Generate TestSuite.
s1 = TestSuite.fromClass(?DocPolynomTest);
s2 = TestSuite.fromFile('axesPropertiesTest.m');
suite = [s1 s2];

% Create silent test runner.
runner = TestRunner.withNoPlugins;

% Add plugin to display test progress.
runner.addPlugin(TestRunProgressPlugin.withVerbosity(2))

% Run tests using customized runner.
result = run(runner,[suite]);

Смотрите также

| | |

Похожие темы