matlab.unittest.TestRunner class

Пакет: matlab.unittest

Класс для того, чтобы запустить тесты в matlab.unittest среда

Описание

matlab.unittest.TestRunner класс является основным API, используемым, чтобы запустить комплект тестов в matlab.unittest среда. Это запускается и работает с TestSuite массивы. Используйте этот класс, чтобы настроить запускающие тесты.

TestRunner класс является запечатанным классом; вы не можете вывести классы из TestRunner класс.

Конструкция

Создать простой, тихий TestRunner объект, вызовите статический withNoPlugins метод.

runner = matlab.unittest.TestRunner.withNoPlugins

Создать TestRunner возразите, чтобы запустить тесты из Командного окна MATLAB®, вызвать статический withTextOutput метод.

runner = matlab.unittest.TestRunner.withTextOutput

Создать индивидуально настраиваемый TestRunner объект, вызовите addPlugin метод.

runner = TestRunner.withNoPlugins;
runner.addPlugin(SomePlugin())

Свойства

развернуть все

Корневая папка, где артефакты тестового прогона хранятся, заданные как скаляр строки или вектор символов. По умолчанию, значение ArtifactsRootFolder значение от string(tempdir), но можно установить его на любую перезаписываемую папку.

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

Например, примите ArtifactsRootFolder установлен в "C:\Temp" и автоматически сгенерированным идентификатором тестового прогона является "1231df38-7515-4dbe-a869-c3d9f885f379". Если тестовый прогон производит артефакт, "artifact.txt", артефакт хранится как "C:\Temp\1231df38-7515-4dbe-a869-c3d9f885f379\artifact.txt".

Фиксаторы, которые настраиваются вне исполнителя тестов, задали как скалярный или вектор-строка из matlab.unittest.fixtures.Fixture экземпляры. Используйте это свойство указать, что экологическая настройка выполняется вручную вместо автоматически во время настройки фиксатора и отключения.

Исполнитель тестов рассматривает эти фиксаторы, как уже настроено и никогда не пытается настроить или разъединить любые фиксаторы, заданные PrebuiltFixtures свойство. Если тестовый набор требует разделяемого испытательного стенда, и тот испытательный стенд задан как предварительно созданный фиксатор, исполнитель тестов не выполняет настроенный или разъединяет действия.

Примечание

Исполнитель тестов использует предварительно созданный фиксатор, только если он задан PrebuiltFixtures свойство и перечислено как SharedTestFixture в тестовом определении класса. Исполнитель тестов не использует предварительно созданный фиксатор, если фиксатор указан с помощью TestCase.applyFixture метод.

Методы

addPluginДобавление плагина к исполнителю тестов объект
запущенныйЗапустите все тесты в TestSuite массив
runInParallelЗапустите все тесты в TestSuite массив параллельно
withNoPluginsСоздайте самого простого возможного бегуна
withTextOutputСоздайте TestRunner объект для командного окна выводится

Примеры

свернуть все

Добавьте matlab.unittest классы к текущему списку импорта.

import matlab.unittest.TestRunner;
import matlab.unittest.TestSuite;

Создайте TestSuite массив.

suite = TestSuite.fromClass(?mypackage.MyTestClass);

Создайте TestRunner возразите и запустите комплект.

runner = TestRunner.withTextOutput;
result = run(runner,suite);

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

Создайте тестовый класс в файле в вашей рабочей папке. Тестовый класс использует PathFixture как разделяемый испытательный стенд. Этот пример принимает что подпапка, helperFiles, существует в вашей рабочей папке.

classdef (SharedTestFixtures={ ...
        matlab.unittest.fixtures.PathFixture('helperFiles')}) ...
        SampleTest < matlab.unittest.TestCase
    methods(Test)
        function test1(testCase)
            f = testCase.getSharedTestFixtures;
            
            import matlab.unittest.constraints.ContainsSubstring
            testCase.assertThat(path,ContainsSubstring(f.Folder))
        end
    end
end

Создайте тестовый набор и исполнителя тестов в командной строке.

import matlab.unittest.TestRunner;
import matlab.unittest.TestSuite;

suite = TestSuite.fromClass(?SampleTest);
runner = TestRunner.withTextOutput;

Запустите тесты с помощью разделяемого испытательного стенда. В этом случае фиксатор не предварительно создается.

runner.run(suite);
Setting up PathFixture
Done setting up PathFixture: Added 'C:\Work\helperFiles' to the path.
__________

Running SampleTest
.
Done SampleTest
__________

Tearing down PathFixture
Done tearing down PathFixture: Restored the path to its original state.
__________

Исполнитель тестов настраивает и разъединяет разделяемый испытательный стенд.

Создайте экземпляр фиксатора и добавьте его в исполнителя тестов.

f = matlab.unittest.fixtures.PathFixture('helperFiles');
runner.PrebuiltFixtures = f;

Вручную добавьте 'helperFiles' папка к вашему пути. PathFixture добавляет заданная папка к вашему пути, и тесты используют это действие настройки. Однако, поскольку фиксатор задан, как предварительно создано, исполнитель тестов не выполняет настроенный или разъединяет действия, и необходимо выполнить их вручную. В этом случае, если вы вручную не добавляете его в свой путь, тестовые сбои.

p = fullfile(pwd,'helperFiles');
oldPath = addpath(p);

Запущение тестов.

runner.run(suite);
Running SampleTest
.
Done SampleTest
__________

Исполнитель тестов принимает, что фиксатор предварительно создается и не настраивает его или разъединяет его.

Вручную сбросьте свой путь.

path(oldPath)

Введенный в R2013a