Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

matlab.unittest.TestSuite クラス

名前空間: matlab.unittest

実行するテストをグループ化する基本的なインターフェイス

説明

この matlab.unittest.TestSuite クラスは、テスト フレームワークのテストをグループ化するために使用される基本的なインターフェイスです。テスト ランナーは TestSuite オブジェクトの配列を処理します。

作成

TestSuite クラスの静的メソッドを使用して TestSuite 配列を作成します。また、関数 testsuite を使用してテスト スイートを作成することもできます。

メソッド

すべて展開する

すべて折りたたむ

さまざまなテスト スイートを作成してから、スイートを連結します。

現在のフォルダー内の eyeTest.m という名前のファイルに、関数 eye をテストする関数ベースのテストを作成します。

function tests = eyeTest
tests = functiontests(localfunctions);
end

function doubleClassTest(testCase)
actual = eye;
verifyClass(testCase,actual,"double")
end

function singleClassTest(testCase)
actual = eye("single");
verifyClass(testCase,actual,"single")
end

function uint16ClassTest(testCase)
actual = eye("uint16");
verifyClass(testCase,actual,"uint16")
end

function sizeTest(testCase)
expected = [7 13];
actual = eye(expected);
verifySize(testCase,actual,expected)
end

function valueTest(testCase)
actual = eye(42);
verifyEqual(testCase,unique(diag(actual)),1)    % Diagonal values must be 1
verifyEqual(testCase,unique(triu(actual,1)),0)  % Upper triangular values must be 0
verifyEqual(testCase,unique(tril(actual,-1)),0) % Lower triangular values must be 0
end

現在のフォルダー内の ZerosTest.m という名前の別のファイルに、関数 zeros をテストするクラスベースのテストを作成します。

classdef ZerosTest < matlab.unittest.TestCase
    properties (TestParameter)
        type = {'single','double','uint16'};
        size = struct("s2d",[3 3],"s3d",[2 5 4]);
    end
    
    methods (Test)
        function testClass(testCase,size,type)
            testCase.verifyClass(zeros(size,type),type)
        end
        
        function testSize(testCase,size)
            testCase.verifySize(zeros(size),size)
        end
        
        function testDefaultClass(testCase)
            testCase.verifyClass(zeros,"double")
        end
        
        function testDefaultSize(testCase)
            testCase.verifySize(zeros,[1 1])
        end
        
        function testDefaultValue(testCase)
            testCase.verifyEqual(zeros,0)
        end
    end
end

関数ベースのテスト ファイルからテスト スイートを作成します。

import matlab.unittest.TestSuite
suite1 = TestSuite.fromFile("eyeTest.m");

ZerosTest テストクラスから、パラメーター化されたテストのみを含むテスト スイートを作成します。

suite2 = TestSuite.fromClass(?ZerosTest,"ParameterProperty","*");

テスト スイートを連結して、結果のスイートを実行します。すべてのテストがパスします。

fullSuite = [suite1 suite2];
results = run(fullSuite);
Running eyeTest
.....
Done eyeTest
__________

Running ZerosTest
........
Done ZerosTest
__________

バージョン履歴

R2013a で導入

すべて展開する