matlab.unittest.TestRunner class

Пакет: matlab.unittest

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

Описание

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

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

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

Sealed
true

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

Создание

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

runner = matlab.unittest.TestRunner.withNoPlugins;

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

runner = matlab.unittest.TestRunner.withTextOutput;

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

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

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

Запуск тестов.

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

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

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

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