matlab.unittest.TestSuite 类
命名空间: matlab.unittest
对要运行的测试进行分组的基础接口
描述
matlab.unittest.TestSuite 类是用于在测试框架中对测试进行分组的基础接口。测试运行器对由 TestSuite 对象组成的数组进行操作。
创建对象
使用 TestSuite 类的静态方法创建 TestSuite 数组。您还可以通过使用 testsuite 函数来创建一个测试套件。
方法
matlab.unittest.TestSuite.fromClass | 从测试类创建测试套件 |
matlab.unittest.TestSuite.fromFile | 基于测试文件创建测试套件 |
matlab.unittest.TestSuite.fromFolder | 基于文件夹中的测试创建测试套件 |
matlab.unittest.TestSuite.fromMethod | 基于单一测试方法创建测试套件 |
matlab.unittest.TestSuite.fromName | 基于单个测试名称创建测试套件 |
matlab.unittest.TestSuite.fromNamespace | 基于命名空间中的测试创建测试套件 |
matlab.unittest.TestSuite.fromProject | 基于工程中的测试创建测试套件 |
matlab.unittest.TestSuite.fromRequirements (MATLAB Test) | Create test suite from requirements |
run | 使用默认测试运行器运行测试套件 |
selectIf | 选择满足条件的测试套件元素 |
sortByFixtures | 根据共享脚手架对测试套件重新排序 |
示例
创建不同测试套件,然后串联这些套件。
在当前文件夹中名为 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 中推出方法 matlab.unittest.TestSuite.fromPackage 现在命名为 matlab.unittest.TestSuite.fromNamespace。此方法的行为保持不变,代码中的现有 matlab.unittest.TestSuite.fromPackage 实例继续按预期工作。目前没有停止支持对 matlab.unittest.TestSuite.fromPackage 的现有引用的计划。
matlab.unittest.TestSuite 类有一个新的静态方法 matlab.unittest.TestSuite.fromRequirements,它允许您基于验证需求的测试创建一个测试套件。要使用此方法,您必须安装 MATLAB® Test™ 和 Requirements Toolbox™。
matlab.unittest.TestSuite 类提供一个新的静态方法 matlab.unittest.TestSuite.fromProject,可用于从 MATLAB 工程中的测试文件创建一个测试套件。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)