単純なテスト スイートの作成
この例では、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.mDocPolynomTest.mFigurePropertiesTest.mIsSupportedTest.mSolverTest.m
suiteFolder = TestSuite.fromFolder(pwd); result = run(suiteFolder);
単一のテスト メソッドからのスイートの作成
fromMethod メソッドは、単一のテスト メソッドからスイートを作成します。
suiteMethod = TestSuite.fromMethod(?SolverTest,'testRealSolution')'
result = run(suiteMethod);