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