主要内容

sltest.plugins.ModelCoveragePlugin类

包:sltest.plugins

方法收集模型覆盖范围MATLAB单元测试框架

描述

sltest.plugins.ModelCoveragePlugin创建覆盖率报告并允许设置运行的覆盖率指标金宝app®测试™和MATLAB®基于MATLA金宝appB的Simulink测试用例与MATLAB单元测试框架。设置所需的sltest.plugins.ModelCoveragePlugin属性值的实例,并添加sltest.plugins.ModelCoveragePlugin给测试运行器。对于基于matlab的Simuli金宝appnk测试,调用模拟方法在测试运行期间收集覆盖率。这些覆盖率结果可以在Test Manager结果中得到。

创建

微通道板= sltest.plugins.ModelCoveragePlugin (属性创建一个模型覆盖插件对象微通道板与指定的属性。

您还可以导入插件,然后使用类名创建插件实例:

导入sltest.plugins.ModelCoveragePlugin(属性)

属性

全部展开

属性,该属性对引用的模型禁用或启用覆盖率集合模型阻碍。

例子:“RecordModelReferenceCoverage”,真的

属性:

SetAccess
公众的
GetAccess
公众的

属性,该属性指定覆盖集合选项sltest.plugins.coverage.CoverageMetrics对象

例子:“收集”,covSettings

例子:“收集”,CoverageMetrics (MCDC,真的,“决定”,假的,“条件”,假)

属性:

SetAccess
公众的
GetAccess
公众的

属性,该属性指定覆盖率报告选项sltest.plugins.coverage.ModelCoverageReport

例子:“生产”,mcr

例子:“生产”,modelcoverage报告(“报告/覆盖率/模型覆盖率”)

属性:

SetAccess
公众的
GetAccess
公众的

例子

全部折叠

这个例子展示了如何使用MATLAB®Unit Test来为在Simulink®模型上运行的测试收集覆盖率。金宝app

您可以在中运行测试AutopilotTestFile.mldatx收集修改的条件/决策(MCDC)覆盖率时的测试文件。

1.为示例导入测试运行程序和插件。

进口matlab.unittest.TestRunner进口sltest.plugins.ModelCoveragePlugin进口sltest.plugins.coverage.CoverageMetrics

2.创建模型覆盖率插件对象和覆盖率度量对象。在本例中,您将使用MCDC覆盖率和记录覆盖率来引用模型。

mcdcMet=覆盖率计量学(“决定”,错,“条件”,错,“MCDC”,对);covSettings=ModelCoverage插件(“RecordModelReferenceCoverage”,真的,...“收集”, mcdcMet);

3.从测试文件创建一个MATLAB®Unit Test测试套件。

tf = sltest.testmanager.TestFile ('自动驾驶仪文件.mldatx');APSuite = testsuite (tf.FilePath);

4.创建没有任何插件的测试运行程序,然后将覆盖率插件添加到运行程序中。

APRun = TestRunner.withNoPlugins ();addPlugin (APRun covSettings);

5.运行套件。

%关闭命令行警告。警告Stateflow: cdr: VerifyDangerousComparison警告Stateflow:运行时:TestVerificationFailedAPResult =运行(APRun APSuite)
RollAutopilotMdlRef/Roll Reference /tmp/Bdoc21a_1622859_255720/tpbcc039fa_8186_49aa_8d5b_6d95a4c858b4.html覆盖报告
APResult = TestResult with properties: Name: 'AutopilotTestFile > Basic Design Test Cases/Requirement 1.3 Test' Passed: 0 Failed: 1 Incomplete: 0 Duration: 5.2762 Details: [1x1 struct]总计:0 Passed, 1 Failed, 0 Incomplete. 5.2762秒测试时间。

6.您可以在命令行输出中打开链接以查看覆盖率报告。

清理。清除结果并重新启用警告。

警告在…上Stateflow: cdr: VerifyDangerousComparison警告在…上Stateflow:运行时:TestVerificationFailedsltest.testmanager.clearResults;sltest.testmanager.clear;sltest.testmanager.close;
介绍了R2018a