Main Content

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

链接到结果文件

您可以使用出向链接编辑器和 API 将需求链接到 Microsoft® Excel® 格式的测试结果文件。需求编辑器中的验证状态反映了测试结果。这些图示遵循了将外部测试结果纳入需求验证状态的工作流程。有关更多信息,请参阅 在验证状态中包含来自外部来源的结果

打开示例文件

打开集成来自外部结果文件的结果示例。

openExample(['slrequirements/' ...
    'IntegratingResultsFromAnExternalResultFileExample'])
打开需求编辑器中的 counter_req需求集。此需求集具有子需求,这些子需求具有需求 ID 和描述。

The Requirements Editor displays the counter_req requirement set, which has one parent requirement and three child requirements.

外部测试结果包含在名为 results.xlsxMicrosoft Excel 文件中。Requirements Toolbox™ 中的验证状态根据 Microsoft Excel 表中单元格的值进行更新。测试列中的唯一 ID 标识状态列中的每个结果。测试状态标签包含在标题行中。

Three test results are shown in Microsoft Excel. The test name is shown in the left column and the test result is shown in the right. Two tests passed and one test failed.

创建并注册自定义文档界面

在创建到外部结果文件的链接之前,首先创建并注册一个自定义文档接口,以便链接到 Microsoft Excel 文件并从中获取结果。

  1. 通过在 MATLAB® 命令行执行此代码来打开 myCustomDocInterface.m 文件:

    open(fullfile(matlabroot,"toolbox","slrequirements","slrequirements","linktype_examples","myCustomDocInterface.m"))

  2. 将函数名称 myCustomDocInterface 替换为 linktype_myexternalresults

  3. 在当前文件夹中保存 myCustomDocInterface.m 的副本。在 MATLAB 的编辑器选项卡中,点击保存 > 将副本另存为。将文件另存为 linktype_myexternalresults.m

  4. docInterface.Label 设置为 'Excel Results'

  5. docInterface.Extensions 设置为 {'.xlsx'}

  6. 用此函数替换现有的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 的更多信息,请参阅 定义自定义文档界面以直接链接到需求

  7. 保存 linktype_myexternalresults.m

  8. 注册自定义文档接口。在命令行中输入:

    rmi register linktype_myexternalresults

    注意

    如果命令返回警告,则必须取消注册链接类型并重新注册。输入以下命令取消注册链接类型:

    rmi unregister linktype_myexternalresults

链路需求和外部测试结果

您可以从外部结果文件中创建从需求到测试用例的测试结果的链接,以确认需求。您可以使用“出向链接编辑器”或使用 Requirements Toolbox API 创建链接。

使用出向链接编辑器创建链接

使用出向链接编辑器创建从需求到外部结果文件的链接:

  1. 打开需求编辑器,在 counter_req.slreqx需求集,右键点击子需求 1.3 并选择打开 "出向链接" 对话框

  2. 在“出向链接编辑器”对话框的“需求”选项卡中,点击“新建”。

  3. 输入以下详细信息以建立链接:

    • 描述resultcounterSetsValue

    • 文档类型Excel Results

    • 文档results.xlsx

    • 位置counterSetsValue

    The Outgoing Links Editor displays the new link with the previously described details.

  4. 点击确定。该链接在需求编辑器链接部分中突出显示。

使用 API 创建链接

使用 API 创建从需求到外部结果文件的链接:

  1. 在 MATLAB 命令提示符下输入:

    externalSource.id = 'counterSetsValue';
    externalSource.artifact = 'results.xlsx';
    externalSource.domain = 'linktype_myexternalresults';

  2. 打开需求集,找到与链接相关的需求:

    reqSet = slreq.open('counter_req.slmx'); 
    requirement = find(reqSet, 'Type', 'Requirement', 'SID', 4);

  3. 通过输入以下内容创建链接:

    link = slreq.createLink(requirement, externalSource);
    这将创建从 SID 4 的需求到名为 counterSetsValue 的外部结果文件中的测试用例结果的链接。在需求编辑器中,链接出现在链接 > 确认者部分。

    Requirement that has a link in the Requirements Editor

查看验证状态

通过更新需求集的验证状态,根据Excel状态日志来更新counterSetsValue测试用例的验证信息。

您可以通过点击刷新 来更新需求编辑器中的验证状态。确保选择 + > 验证状态以查看整个需求集的验证状态。

Requirements Editor with an open requirement set that has three requirements. One requirement is verified.

验证状态显示三个需求中有一个已验证。

您还可以通过在 MATLAB 命令提示符下输入以下内容来更新验证状态并获取当前状态:

updateVerificationStatus(reqSet)
status = getVerificationStatus(reqSet)

另请参阅

App

函数

相关示例

详细信息