链接到结果文件
您可以使用出向链接编辑器和 API 将需求链接到 Microsoft® Excel® 格式的测试结果文件。需求编辑器中的验证状态反映了测试结果。这些图示遵循了将外部测试结果纳入需求验证状态的工作流程。有关更多信息,请参阅 在验证状态中包含来自外部来源的结果。
打开示例文件
打开集成来自外部结果文件的结果示例。
openExample(['slrequirements/' ... 'IntegratingResultsFromAnExternalResultFileExample'])
counter_req
需求集。此需求集具有子需求,这些子需求具有需求 ID 和描述。
外部测试结果包含在名为 results.xlsx
的 Microsoft Excel 文件中。Requirements Toolbox™ 中的验证状态根据 Microsoft Excel 表中单元格的值进行更新。测试列中的唯一 ID 标识状态列中的每个结果。测试和 状态标签包含在标题行中。
创建并注册自定义文档界面
在创建到外部结果文件的链接之前,首先创建并注册一个自定义文档接口,以便链接到 Microsoft Excel 文件并从中获取结果。
通过在 MATLAB® 命令行执行此代码来打开
myCustomDocInterface.m
文件:open(fullfile(matlabroot,"toolbox","slrequirements","slrequirements","linktype_examples","myCustomDocInterface.m"))
将函数名称
myCustomDocInterface
替换为linktype_myexternalresults
。在当前文件夹中保存
myCustomDocInterface.m
的副本。在 MATLAB 的编辑器选项卡中,点击保存 > 将副本另存为。将文件另存为linktype_myexternalresults.m
将
docInterface.Label
设置为'Excel Results'
。将
docInterface.Extensions
设置为{'.xlsx'}
。用此函数替换现有的
GetResultFcn
:有关function result = GetResultFcn(link) testID = link.destination.id; if testID(1) == '@' testID(1) = []; end resultFile = link.destination.artifact; if ~isempty(resultFile) && isfile(resultFile) resultTable = readtable(resultFile); testRow = strcmp(resultTable.Test,testID); status = resultTable.Status(testRow); if status{1} == "passed" result.status = slreq.verification.Status.Pass; elseif status{1} == "failed" result.status = slreq.verification.Status.Fail; else result.status = slreq.verification.Status.Unknown; end else result.status = slreq.verification.Status.Unknown; end end
GetResultFcn
的更多信息,请参阅 定义自定义文档界面以直接链接到需求。保存
linktype_myexternalresults.m
。注册自定义文档接口。在命令行中输入:
rmi register linktype_myexternalresults
注意
如果命令返回警告,则必须取消注册链接类型并重新注册。输入以下命令取消注册链接类型:
rmi unregister linktype_myexternalresults
链路需求和外部测试结果
您可以从外部结果文件中创建从需求到测试用例的测试结果的链接,以确认需求。您可以使用“出向链接编辑器”或使用 Requirements Toolbox API 创建链接。
使用出向链接编辑器创建链接
使用出向链接编辑器创建从需求到外部结果文件的链接:
打开需求编辑器,在
counter_req.slreqx
需求集,右键点击子需求1.3
并选择打开 "出向链接" 对话框。在“出向链接编辑器”对话框的“需求”选项卡中,点击“新建”。
输入以下详细信息以建立链接:
描述:
resultcounterSetsValue
文档类型:
Excel Results
文档:
results.xlsx
位置:
counterSetsValue
点击确定。该链接在需求编辑器的 链接部分中突出显示。
使用 API 创建链接
使用 API 创建从需求到外部结果文件的链接:
在 MATLAB 命令提示符下输入:
externalSource.id = 'counterSetsValue'; externalSource.artifact = 'results.xlsx'; externalSource.domain = 'linktype_myexternalresults';
打开需求集,找到与链接相关的需求:
reqSet = slreq.open('counter_req.slmx'); requirement = find(reqSet, 'Type', 'Requirement', 'SID', 4);
通过输入以下内容创建链接:
这将创建从link = slreq.createLink(requirement, externalSource);
SID
4
的需求到名为counterSetsValue
的外部结果文件中的测试用例结果的链接。在需求编辑器中,链接出现在链接 > 确认者部分。
查看验证状态
通过更新需求集的验证状态,根据Excel状态日志来更新counterSetsValue
测试用例的验证信息。
您可以通过点击刷新 来更新需求编辑器中的验证状态。确保选择列 + > 验证状态以查看整个需求集的验证状态。
验证状态显示三个需求中有一个已验证。
您还可以通过在 MATLAB 命令提示符下输入以下内容来更新验证状态并获取当前状态:
updateVerificationStatus(reqSet) status = getVerificationStatus(reqSet)