此示例显示如何使用基于MATLAB的SIMULINK测试来收集具有测试线束的模型上的覆盖范金宝app围,并使用MATLAB测试框架填充测试管理器中的结果。基于MATLAB的SIMU金宝appLINK测试是.m
文件测试案例类定义继承自sltest.testcase.
。
基于MATLAB的SIMULINK金宝app测试文件,testharnesswithmodelcoverage.m
,已创建并提供此示例。测试文件包含两个测试功能。每个人都有一个线束模型来驱动输入数据来测试子系统testharnesswithmodelcoverage / subsystem1.
并与相应的基线进行比较。这项测试用途金宝appsimulink.simulationOutput.
模拟模型时对象。
classdef testharnesswithmodelcoverage
方法(测试)函数睾丸(testcase)In = testcase.createsimulationInput('simpleSwitchwithsubsubsystemin',...'hyharness','simpleswitchwithsubsubystemin_harness1');simout = testcase.simulate(in);testcase.verifySignalSmatch(simout,'baselineone.mat');结束函数testtwo(testcase)in = testcase.createsimulationInput('simpleSwitchwithsubsystemin',...'hyharness','simpleswitchwithsubsubystemin_harness2');simout = testcase.simulate(in);testcase.verifySignalSmatch(Simout,'baselinetwo.mat');结束
结尾
创建一个TestRunner.
运行sltest_ratelim.
模型。
进口matlab.unittest.testrunner.;runner = testrunner.withtextoutput;
创建一个testsuite.
与之使用TestRunner.
。
套房= testsuite('testharnesswithmodelcoverage');
使用插件方法配置TestRunner.
添加测试结果sltest.testcase.
到测试管理器。添加testrunnerplugin
到了TestRunner.
。
进口sltest.plugins.matlabtestCaseIntegrationPlugin.;runner.addplugin(matlabtestcaseintegrationplugin);
这DIPATOSTICSOUTPUTPLUGIN.
和totest managerlog.
将诊断流自诊断sltest.testcase.
跑到日志testcaseresults.
在里面测试经理
。诊断包括传递诊断以进行传递的测试。添加DIPATOSTICSOUTPUTPLUGIN.
和totest managerlog.
到了TestRunner.
。
进口sltest.plugins.totestManagerlog.;进口matlab.unittest.plugins.diagnosticsoutputplugin.;Streamoutput = totestmanagerlog();diagnosticsoutputplugin = diagnosticsoutputplugin.......(Streamoutpul,'包括广泛的迪涅斯蒂斯',真的);runner.addplugin(diagnosticsoutputplugin);
在AN的模型sltest.testcase.
使用该模拟模拟
方法可以收集覆盖范围。使用modelcoverageplugin.
配置Coverage指标集合。此示例收集MCDC覆盖范围。添加modelcoverageplugin.
到了TestRunner.
。
进口sltest.plugins.coverage.CoverageMetrics.;进口sltest.plugins.modelcoverageplugin;McDcmetrics = CoverageMetrics('MCDC',真的);runner.addplugin(modelcoverageplugin('收集',mcdcmetrics)));
现在是TestRunner.
完全配置,使用跑步
函数收集覆盖范围并将覆盖范围和测试结果添加到测试管理器上。
运行(跑步者,套房);
设置ResultSetFixture设置完ResultSetFixture __________运行TestHarnessWithModelCoverage ..做TestHarnessWithModelCoverage __________对于simpleSwitchWithSubsystemIn / Subsystem1 /tmp/Bdoc21a_1626862_63905/tp36f6c562_d6c2_4e1f_8d4c_de10e9f92437.html撕裂覆盖率报告下来ResultSetFixture完成拆除ResultSetFixture __________
跑步
还生成一个报告,其中包括运行的测试套件的累积覆盖范围。使用SLTEST_RATELIM的覆盖报告
链接查看报告。
打开测试管理器
Sltestmgr.
选择结果和文物窗格扩展结果和BaselInetestWithCoverage.行。
选择睾丸
排。
这覆盖结果部分显示收集的覆盖范围sltest_ratelim.
从睾丸
。
选择testtwo.
排。
这覆盖结果部分显示收集的覆盖范围sltest_ratelim.
从testtwo.
。
选择BaselInetestWithCoverage.
排。
这汇总覆盖结果部分显示收集的覆盖范围的聚合sltest_ratelim.
从睾丸
和testtwo.
。聚合结果显示了指定的覆盖度量标准的全部覆盖范围。