主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

slreq.verification.services.TAP 类

命名空间: slreq.verification.services
超类:

使用外部结果源

描述

slreq.verification.services.TAP 实例提供了用于解释 TAP(测试任何协议)结果文件以进行验证的实用程序。

创建对象

GetResultFcn 的自定义逻辑中使用的服务对象,用于编写结果获取逻辑的脚本。

tapService = slreq.verification.services.TAP() 将结果获取逻辑定向到 TAP 文件。

输出参量

全部展开

GetResultFcn 中使用的服务,用于编写结果获取逻辑脚本

方法

输出为 result,它是 tapService 对象的一个实例。对于 resultFiletestIDGetResultFcn 函数返回 testID 的结果:

result = tapService.getResult(testID, resultFile);

GetResultFcn 使用 result 中的测试点为 testID 获取 resultFile,使用方法如下:

result = tapService.getAllResults(resultFile);

示例

全部折叠

在此示例中,您将需求链接到 MATLAB® 脚本。需求编辑器中的验证状态反映了测试结果。此示例执行 链接到测试脚本 中描述的步骤。此示例使用名为 counter_req.slreqx 的需求集文件和名为 runmytests.m 的 MATLAB 脚本,该脚本为 Counter 中的 Counter.m 类运行测试。测试脚本包含自定义方法,将结果以 TAP 格式写入名为 results.tap 的文件。

注册自定义文档接口

在创建链接之前,您需要注册自定义文档接口。在需求编辑器中打开需求文件 counter_req.slreqx

reqSet = slreq.open('counter_req.slreqx');

The counter_req requirement set. There is one parent requirement with three child requirements.

注册特定于外部测试文件的自定义文档接口。

rmi register custom_mymscripttap

GetResultFcn 函数中的自定义逻辑找到与测试用例相对应的测试文件并从该测试文件中获取结果。

如果注册命令返回警告,则必须取消注册该文件并再次运行该命令。要取消注册该文件,请输入 rmi unregister custom_mymscripttap

创建链接

制作包含外部测试属性的结构。要创建链接,请在命令提示符下输入:

externalSource.id = 'counterStartsAtZero';
externalSource.artifact = 'runmytests.m';
externalSource.domain = 'custom_mymscripttap';

与该链路相关的需求其 SID 设置为 2。要查找与链接相关的需求,请输入:

requirement = reqSet.find('Type','Requirement','SID',2);

要创建链接,请输入:

link = slreq.createLink(requirement, externalSource);

此命令创建测试用例 counterStartsAtZero 与 SID 为 2 的需求之间的链接。在需求编辑器中,链接出现在详细信息窗格的链接下。

The Links pane is expanded with one link under the Confirmed By section

为了避免结果过时,请确保结果文件的时间戳比链接创建的时间戳新。打开结果文件,在文件中进行虚拟更改并再次保存以获取最新的时间戳。

查看验证状态

要查看验证状态,您需要先更新需求集的验证状态。在 MATLAB 命令提示符下,键入:

reqSet.updateVerificationStatus;

要在需求编辑器中查看验证状态列,请在视图部分中,确保已选中 > 验证状态。更新后,获取需求的验证状态:

status = reqSet.getVerificationStatus;

需求编辑器显示通过或失败的整个需求集的验证状态。

The Requirements editor with the counter_req requirement set. The top-level requirement is expanded and requirement 1.1 is selected.

counterStartsAtZero 的需求的验证状态已完全验证。打开需求编辑器查看验证状态:

reqSet = slreq.open('counter_req.slreqx');

验证状态显示,三项测试中,有一项测试通过。点击“刷新”可查看需求编辑器中需求的验证状态。

The Requirements Editor with the counter_req requirement set. The verification status bar is partially green.

取消注册自定义文档接口。

rmi unregister custom_mymscripttap

版本历史记录

在 R2020a 中推出