このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
単純なテスト スイートの作成
この例では、SolverTest
テスト ケースを使用して、テストをテスト スイートに組み込む方法について説明します。matlab.unittest.TestSuite
クラスの静的 from*
メソッドを使用して、テストの組み合わせのスイートを作成します。これらは、パッケージとクラス、ファイルとフォルダー、あるいはその両方で編成されます。
二次ソルバー関数の作成
作業フォルダーの 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
メソッドは、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);