使用测试模型MATLAB单元测试
你可以用MATLAB®单元测试框架运行编写在其中的测试金宝app®测试™.使用MATLAB单元测试框架:
允许您与MATLAB单元测试脚本、函数和类一起执行模型测试。
使用相同的框架支持模型和代码测试。
支持与持续集成(CI)系统的集成,例如Jenkins®.
总体工作流程
使用MATLAB单元测试运行测试:
创建一个
TestSuite
从金宝app仿真软件测试文件。创建一个
TestRunner
.创建插件对象以自定义
TestRunner
.例如:的
matlab.unittest.plugins.TAPPlugin
根据“测试任何东西”协议生成用于特定CI系统的结果流。的
sltest.plugins.ModelCoveragePlugin
指定模型覆盖集合,并使覆盖结果可从命令行访问。
将插件添加到
TestRunner
.方法运行测试
运行
方法并行运行测试,或使用runInParallel
方法。
注意事项
使用MATLAB单元测试运行测试时,请考虑以下内容:
如果您在test Manager中禁用了一个测试,那么该测试将使用MATLAB Unit test进行过滤,结果将反映一个失败的假设。
测试命名法的比较
MATLAB单元测试具有与中的功能类似的特性金宝app仿真软件测试.例如,
如果测试用例包含迭代,则MATLAB单元测试包含参数化。
如果测试文件或测试套件包含回调,则MATLAB单元测试包含一个或多个回调fixture。
测试用例迭代和MATLAB单元测试参数化
参数化细节对应于迭代的属性。
金宝app仿真软件测试 |
MATLAB单元测试 |
---|---|
迭代类型:脚本化 |
参数化属性: |
迭代类型: |
参数化属性: |
迭代的名字 |
参数化的名字 |
测试用例迭代对象 |
参数化值 |
测试回调和MATLAB单元测试夹具
fixture依赖于测试文件中包含的回调。fixture不包括测试用例回调,它与测试用例本身一起执行。
回调中金宝app仿真软件测试 |
夹具在MATLAB单元测试 |
---|---|
测试文件回调 |
|
测试套件回调 |
|
文件和套件回调 |
异构 |
没有回调 |
没有固定 |
使用MATLAB®单元测试
本示例展示如何为在Simulink®Test™中创建的测试文件创建和运行基本的MATLAB®单元测试。金宝app您可以创建一个测试套件,运行测试,并显示诊断报告。
在运行此示例之前,暂时禁用因验证失败而导致的警告。
警告从Stateflow:运行时:TestVerificationFailed;警告从Stateflow: cdr: VerifyDangerousComparison;
1.在test Manager中创建一个测试文件,或者从一个预先存在的测试文件开始。在这个例子中,AutopilotTestFile
测试自动驾驶系统的一个组件,根据几个要求,使用验证
语句。
2.创建一个TestSuite
来自测试文件。
Apsuite = testsuite(“AutopilotTestFile.mldatx”);
3.运行测试,创建一个TestResult
对象。命令窗口从验证
语句失败。
Apresults = run(apsuite);
运行AutopilotTestFile >基本设计测试用例 ================================================================================ 验证失败AutopilotTestFile > /要求1.3测试基本设计测试用例。--------------------- 框架的诊断 : --------------------- 错误运行测试用例——>错误:没有系统或文件称为“RollAutopilotMdlRef”发现。——>仿金宝app真软件测试经理结果:结果:2022 - 2月26日15:05:05 AutopilotTestFile / /要求1.3测试基本设计测试用例 ================================================================================ .完成AutopilotTestFile >基本设计测试用例 __________ 失败失败总结:名字不完整的原因(s ) =============================================================================================================== AutopilotTestFile >基本设计测试用例/要求1.3测试X验证失败。
4.要查看测试的详细信息,请显示报告
的属性DiagnosticRecord
对象。记录显示测试期间验证失败。
apresults.Details.DiagnosticRecord.Report
ans = '验证失败在AutopilotTestFile >基本设计测试用例/需求1.3测试。--------------------- 框架的诊断 : --------------------- 错误运行测试用例——>错误:没有系统或文件称为“RollAutopilotMdlRef”发现。——> 金宝appSimulink测试管理器结果:结果:2022年2月26日15:05:05/AutopilotTestFile/基本设计测试用例/需求1.3测试
启用警告。
警告在Stateflow:运行时:TestVerificationFailed;警告在Stateflow: cdr: VerifyDangerousComparison;
另请参阅
测试
|TestResult
|TestRunner
|TestSuite
|matlab.unittest.plugins包