Main Content

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

在测试管理器中使用基于 MATLAB 的 Simulink 测试

此示例显示如何创建基于 MATLAB® 的 Simulink® 测试、生成基线以及在测试管理器中加载、运行和查看测试结果。当您将基于 MATLAB 的 Simulink 测试用例代码 .m 文件加载到测试管理器中时,该测试用例的出现和行为与直接在测试管理器中创建的测试用例相同。唯一的区别是,对于基于 MATLAB 的 Simulink 测试,您只能在测试文件级别选择或更改覆盖率收集和度量,而不能在测试套件或测试用例级别选择或更改覆盖率收集和度量。

此示例使用内部测试框架 sltestMATLABBasedTestExample_harnrss 根据生成的基线验证 sltestMATLABBasedTestExample 模型。

基线测试类定义文件

类定义文件 BaselineTest.m 已创建并随本示例提供。

测试用例文件 BaselineTest.m 衍生自 sltest.TestCase,而 sltest.TestCase 又衍生自 matlab.unittest.TestCase。所有 matlab.unittest.TestCase 方法也可作为 sltest.TestCase 的一部分使用。

基线测试文件内容

类定义文件 BaselineTest.m 包含:

classdef BaselineTest < sltest.TestCase
    methods (Test)
       function testOne(testCase)
           testCase.loadSystem('sltestMATLABBasedTestExample');
           evalin('base','gain2_var = 2.01;');
           simOut = testCase.simulate('sltestMATLABBasedTestExample',...
             'WithHarness','sltestMATLAbBasedTestExample_harness');
           testCase.verifySignalsMatch(simOut,'baseline1.mat','AbsTol',0.015);
       end
    end
end

该文件包括:

  • sltest.TestCase 继承。

  • 一个名为 testOne 的测试函数,位于具有 Test 属性的 methods 模块中。

testOne 函数:

  • 使用 testCase.loadSystem 方法加载 sltestMATLABBasedTestExample 模型。

  • 将模型中的 gain2_var 的值更改为 2.01。

  • 使用 testCase.simulate 方法通过框架仿真模型。

  • 使用 testCase.verifySignalsMatch 方法将 simulatesimOut 的输出与名为 baseline1.mat 的基线数据 MAT 文件进行比较。它还设定了绝对容差。如果在运行测试之前从文件中删除容差设置,则测试将失败,因为 gain2_var 的值已从模型中的原始值更改。

基线数据文件

基线数据文件 baseline1.mat 已经生成并随本示例提供。基线数据文件是使用以下流程创建的:

1.使用 runtests('BaselineTest/testOne','GenerateBaselines',true)

2.基线测试运行后,仿真数据检查报告显示信号的输出。查看报告中的实际结果并批准基线数据。数据保存在 MAT 文件中,本例中该文件名为 baseline1.mat

在测试管理器中打开基于 MATLAB 的 Simulink Test

1.打开测试管理器。

sltest.testmanager.view

2.在测试管理器中,点击打开并选择打开基于 MATLAB 的 Simulink Test (.m)

3.在打开文件对话框中,选择 BaselineTest.m

测试管理器使用 BaselineTest.m 文件中的 testOne 填充测试浏览器

设置覆盖率收集

如果您想要收集测试的覆盖率,请选择 BaselineTest 文件。在覆盖率设置部分,选择要收集的覆盖率和覆盖率度量。如果您想要收集测试的覆盖率,请在测试浏览器窗格中选择测试文件 BaselineTest。在“覆盖率设置”部分,选择要收集的覆盖率选项和覆盖率度量选项。

在测试管理器中运行并可视化结果

1.单击运行执行测试。

2.测试完成后,展开结果和工件窗格中的所有行。注意 testOne 已通过。

3.要查看数据比较,请选择 testOne > 仿真输出比较结果下的 Out2:1。仿真和基线信号在指定的容差范围内匹配。

4.如果您收集了覆盖率,请选择基线测试测试文件并查看聚合覆盖率结果部分。

4.如果您收集了覆盖率,请选择 BaselineTest 测试文件并查看聚合覆盖率结果部分。

清除并关闭测试管理器

sltest.testmanager.clear
sltest.testmanager.clearResults
sltest.testmanager.close

相关主题