Main Content

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

使用 MATLAB 单元测试测试模型

您可以使用 MATLAB® 单元测试框架来运行用 Simulink® Test™ 编写的测试。使用框架:

  • 允许您与单元测试脚本、函数和类一起执行模型测试。

  • 使用相同的框架实现模型和代码测试。

  • 实现与持续集成 (CI) 系统的集成,例如 Jenkins®

总体工作流程

要使用单元测试框架运行测试:

  1. Simulink Test 文件创建 TestSuite

  2. 创建一个 TestRunner

  3. 创建插件对象来定制 TestRunner。例如:

  4. 将插件添加到 TestRunner

  5. 使用 run 方法运行测试,或者使用 runInParallel 方法并行运行测试。

注意事项

使用单元测试框架运行测试时,请考虑以下事项:

  • 如果您在测试管理器中禁用测试,则该测试将使用单元测试进行过滤,结果将反映失败的假设。

测试术语比较

单元测试框架具有与 Simulink Test 中的功能类似的属性。例如,

  • 如果测试用例包含迭代,则单元测试包含参数化。

  • 如果测试文件或测试套件包含回调,则单元测试包含一个或多个回调装置。

测试用例迭代和单元测试参数化

参数化细节与迭代的属性相对应。

Simulink Test

MATLAB 单元测试

迭代类型:脚本化

参数化属性:ScriptedIteration

迭代类型:桌子

参数化属性:TableIteration

迭代名称

参数化名称

测试用例迭代对象

参数化值

测试回调和单元测试装置

装置依赖于测试文件中包含的回调。Fixtures 不包括测试用例回调,回调是与测试用例本身一起执行的。

Simulink Test 中的回调

MATLAB 单元测试中的 Fixtures

测试文件回调

FileCallbacksFixture

测试套件回调

SuiteCallbacksFixture

文件和套件回调

异构 CallbacksFixture,包含 FileCallbacksFixtureSuiteCallbacksFixture

无回调

无固定装置

使用 MATLAB® 单元测试的基本工作流程

此示例显示如何为在 Simulink® Test™ 中创建的测试文件创建和运行基本 MATLAB® 单元测试。您创建一个测试套件,运行测试,并显示诊断报告。

在运行此示例之前,暂时禁用因验证失败而导致的警告。

warning off Stateflow:Runtime:TestVerificationFailed;
warning off Stateflow:cdr:VerifyDangerousComparison;

1.在测试管理器中创作测试文件,或从预先存在的测试文件开始。对于此示例,AutopilotTestFile 使用 verify 语句根据几个需求测试自动驾驶仪系统的组件。

2.从测试文件创建一个 TestSuite

apsuite = testsuite('AutopilotTestFile.mldatx');

3.创建测试运行器。

import matlab.unittest.TestRunner
aprunner = TestRunner.withNoPlugins;

4.添加插件以生成测试管理器结果。

import sltest.plugins.TestManagerResultsPlugin
tmr = TestManagerResultsPlugin; 
addPlugin(aprunner,tmr)

5.运行测试。

apresults = run(aprunner,apsuite);

6.查看测试摘要,其中显示测试因验证失败而失败。

apresults.Details.SimulinkTestManagerResults
ans = 
  TestResultContainer with properties:

    TestResult: [1x1 sltest.testmanager.TestCaseResult]

启用警告。

warning on Stateflow:Runtime:TestVerificationFailed;
warning on Stateflow:cdr:VerifyDangerousComparison;

另请参阅

| | | |

相关主题