Main Content

matlab.uitest.TestCase 类

命名空间: matlab.uitest
超类: matlab.unittest.TestCase

用于使用 App 测试框架编写测试的类

描述

matlab.uitest.TestCase 类允许您编写使用 App 测试框架的测试。由于 matlab.uitest.TestCase 类是从 matlab.unittest.TestCase 类派生的,因此您的测试可以使用单元测试框架的功能,例如鉴定、脚手架和插件。有关 App 测试的详细信息,请参阅 App 测试框架概述

matlab.uitest.TestCase 类是一个 handle 类。

类属性

Abstract
true

有关类属性的信息,请参阅类属性

创建对象

在大多数情况下,您不需要直接创建 matlab.uitest.TestCase 类的实例。在运行测试时,App 测试框架会自动创建 matlab.uitest.TestCase 实例。

要为交互式命令行测试创建 matlab.uitest.TestCase 实例,请使用 forInteractiveUse 静态方法。

方法

全部展开

示例

全部折叠

创建一个分档旋钮。

knob = uiknob('discrete');

A figure with a discrete knob. The knob value is 'Off'.

创建一个交互式测试用例并选择 'High' 旋钮值。用一个动画蓝点执行编程选择手势。

tc = matlab.uitest.TestCase.forInteractiveUse;
tc.choose(knob,'High')

A figure with a discrete knob. The knob value is 'High'.

查看旋钮上 Items 属性的值。

knob.Items
ans =

  1×4 cell array

    {'Off'}    {'Low'}    {'Medium'}    {'High'}

按索引选择 'Low' 旋钮值。旋钮从 'High' 移动到 'Low'

tc.choose(knob,2)

A figure with a discrete knob. The knob value is 'Low'.

创建一个状态按钮。

b = uibutton('state');

创建一个交互式测试用例,并验证状态按钮的值为 false

tc = matlab.uitest.TestCase.forInteractiveUse;
tc.verifyFalse(b.Value)
Verification passed.

按下该按钮并验证状态更改为 true。表示编程按下手势的蓝点出现在按钮上,然后消失。

tc.press(b)
tc.verifyTrue(b.Value)
Verification passed.

创建一个最小值为 -237、最大值为 237、起始值为 7 的滑块。

slider = uislider("Limits",[-237 237],"Value",7);

创建一个交互式测试用例并验证滑块的初始值。

testCase = matlab.uitest.TestCase.forInteractiveUse;
testCase.verifyEqual(slider.Value,7)
Verification passed.

在两个值之间拖动滑块并验证最终值。由于框架模仿用户将组件移动到任意精确值的操作,因此最好使用容差来比较实际滑块值和预期滑块值。

val = 26.75;
testCase.drag(slider,-val,val)
testCase.verifyEqual(slider.Value,val,"AbsTol",0.1)
Verification passed.

自 R2023b 起

通过自动滚动到组件,对不在图窗可查看区域的组件执行手势。

创建一个具有状态按钮的可滚动图窗,该按钮位于图窗的可查看区域之外。

fig = uifigure("Scrollable","on");
b = uibutton(fig,"state","Position",[fig.Position(3)+100 100 100 22]);

为交互测试创建一个测试用例,并验证按钮的初始状态。

tc = matlab.uitest.TestCase.forInteractiveUse;
tc.verifyFalse(b.Value)
Verification passed.

按下按钮并验证其状态是否更改。由于图窗是可滚动的,因此 App 测试框架在执行手势之前会自动滚动到该按钮。

tc.press(b)
tc.verifyTrue(b.Value)
Verification passed.

版本历史记录

在 R2018a 中推出

全部展开