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

В этом примере показано, как объединить тесты в тестовые наборы, с помощью 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

Импорт класса TestSuite

В командной строке добавьте 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);

Смотрите также

Похожие темы