matlab.unittest.TestRunner class

Пакет: matlab.unittest

Класс для выполнения тестов в matlab.unittest среда

Описание

The matlab.unittest.TestRunner класс - основной API, используемый для запуска набора тестов в matlab.unittest среда. Он запускается и действует на TestSuite массивы. Используйте этот класс для настройки выполняемых тестов.

The matlab.unittest.TestRunner класс является handle класс.

Атрибуты класса

Sealed
true

Для получения информации об атрибутах класса см. раздел «Атрибуты класса».

Создание

Чтобы создать простое, молчаливое 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 способ.

Методы

расширить все

Примеры

свернуть все

Добавить 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' папка на ваш путь. The PathFixture добавляет указанную папку к пути, и тесты полагаются на это действие настройки. Однако, поскольку фиксатор задан как предварительно построенное, исполнитель тестов не выполняет действия настройки или разрыва, и вы должны выполнить их вручную. В этом случае, если вы не добавляете его вручную к своему пути, тест прекращает работать.

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

Запустите тесты.

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

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

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

path(oldPath)
Введенный в R2013a