matlab.unittest.selectors.HasSuperclass 类
命名空间: matlab.unittest.selectors
根据测试类层次结构选择 TestSuite
数组元素
描述
matlab.unittest.selectors.HasSuperclass
类提供用于根据测试类层次结构过滤测试套件的选择器。
构造
selector = matlab.unittest.selectors.HasSuperclass(
创建一个选择器,它仅保留其测试类派生自 class
)class
的元素,以此过滤 TestSuite
数组。
输入参量
class
— 超类名称
字符串标量 | 字符向量
超类名称,指定为字符串标量或字符向量。
复制语义
值。要了解值类如何影响复制操作,请参阅复制对象。
示例
按测试类过滤测试套件
在当前文件夹中创建以下句柄类。
classdef MyClass < handle properties % properties of class end methods % methods of class end end
在当前文件夹中创建以下测试类。
classdef Feature1_Test < matlab.unittest.TestCase methods (Test) function testA1(testCase) % test code end function testB1(testCase) % test code end end end
在当前文件夹中创建以下测试类。此测试类对 MyClass
进行子类化。
classdef Feature2_Test < matlab.unittest.TestCase & MyClass methods (Test) function testA2(testCase) % test code end function testB2(testCase) % test code end end end
基于当前文件夹中的所有文件创建一个测试套件。视文件夹中的文件不同,测试套件可能会有所不同。
import matlab.unittest.TestSuite;
suite = TestSuite.fromFolder(pwd)
suite = 1×4 Test array with properties: Name ProcedureName TestClass BaseFolder Parameterization SharedTestFixtures Tags Tests Include: 0 Parameterizations, 0 Shared Test Fixture Classes, 0 Tags.
查看套件中测试元素的名称。
{suite.Name}'
ans = 4×1 cell array {'Feature1_Test/testA1'} {'Feature1_Test/testB1'} {'Feature2_Test/testA2'} {'Feature2_Test/testB2'}
创建另一个测试套件,其中只包含类层次结构中有 MyClass
的套件元素。查看测试元素名称。由于测试类 Feature2_Test
是子类化 MyClass
的唯一测试类,因此只有来自该类的测试元素包含在套件中。
newSuite = suite.selectIf(HasSuperclass('MyClass'));
{newSuite.Name}'
ans = 2×1 cell array {'Feature2_Test/testA2'} {'Feature2_Test/testB2'}
或者,使用 testsuite
函数直接创建经过过滤的套件。
newSuite = testsuite(pwd,'Superclass','MyClass');
版本历史记录
在 R2018a 中推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)