创建简单测试套件
此示例演示如何使用 SolverTest
测试用例将测试合并到测试套件中。使用 matlab.unittest.TestSuite
类中的静态 from*
方法为您的测试组合创建套件,无论它们是按命名空间和类还是文件和文件夹(或同时按这两项)组织。
创建二次求解器函数
创建以下函数来对您的工作文件夹下的文件 quadraticSolver.m
中二次方程的根求解。
function r = 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 r(1) = (-b + sqrt(b^2 - 4*a*c)) / (2*a); r(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
方法从 SolverTest
类中的所有 Test
方法创建一个套件。
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);