exponenta event banner

Создание простых наборов тестов

В этом примере показано, как объединить тесты в наборы тестов с помощью SolverTest тестовый случай. Использовать статический from* методы в matlab.unittest.TestSuite класс для создания наборов для комбинаций тестов, независимо от того, организованы ли они в пакеты и классы или файлы и папки, или и то, и другое.

Создание функции квадратичного решателя

Создайте следующую функцию, которая решает корни квадратичного уравнения в файле, quadraticSolver.m, в рабочей папке.

function roots = quadraticSolver(a, b, c)
% quadraticSolver returns solutions to the 
% quadratic equation a*x^2 + b*x + c = 0.

if ~isa(a,'numeric') || ~isa(b,'numeric') || ~isa(c,'numeric')
    error('quadraticSolver:InputMustBeNumeric', ...
        'Coefficients must be numeric.');
end

roots(1) = (-b + sqrt(b^2 - 4*a*c)) / (2*a);
roots(2) = (-b - sqrt(b^2 - 4*a*c)) / (2*a);

end

Создание теста для функции квадратичного решателя

Создайте следующий тестовый класс в файле, SolverTest.m, в рабочей папке.

classdef SolverTest < matlab.unittest.TestCase
    % SolverTest tests solutions to the quadratic equation
    % a*x^2 + b*x + c = 0
    
    methods (Test)
        function testRealSolution(testCase)
            actSolution = quadraticSolver(1,-3,2);
            expSolution = [2,1];
            testCase.verifyEqual(actSolution,expSolution);
        end
        function testImaginarySolution(testCase)
            actSolution = quadraticSolver(1,2,10);
            expSolution = [-1+3i, -1-3i];
            testCase.verifyEqual(actSolution,expSolution);
        end
    end
    
end

Класс Import StartSuite

В командной строке добавьте matlab.unittest.TestSuite к текущему списку импорта.

import matlab.unittest.TestSuite

Убедитесь, что SolverTest файл определения класса находится в пути MATLAB ®.

Создать пакет из класса SolverTest

fromClass метод создает набор из всех Test методы в SolverTest класс.

suiteClass = TestSuite.fromClass(?SolverTest);
result = run(suiteClass);

Создание пакета из файла определения класса SolverTest

fromFile создает набор, используя имя файла для идентификации класса.

suiteFile = TestSuite.fromFile('SolverTest.m');
result = run(suiteFile);

Создать пакет из всех файлов тестовых примеров в текущей папке

fromFolder создает набор из всех файлов тестовых примеров в указанной папке. Например, следующие файлы находятся в текущей папке:

  • BankAccountTest.m

  • DocPolynomTest.m

  • FigurePropertiesTest.m

  • IsSupportedTest.m

  • SolverTest.m

suiteFolder = TestSuite.fromFolder(pwd);
result = run(suiteFolder);

Создать пакет из метода одиночного теста

fromMethod создает набор из одного метода тестирования.

suiteMethod = TestSuite.fromMethod(?SolverTest,'testRealSolution')'
result = run(suiteMethod);

См. также

Связанные темы