Этот пример показывает, как объединить тесты в тестовые наборы, с помощью теста 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
В командной строке добавьте класс matlab.unittest.TestSuite
в текущий список импорта.
import matlab.unittest.TestSuite
Убедитесь, что файл определения класса SolverTest
находится на вашем пути MATLAB®.
Метод fromClass
создает комплект из всех методов Test
в классе SolverTest
.
suiteClass = TestSuite.fromClass(?SolverTest); result = run(suiteClass);
Метод 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);