持续集成系统的输出结果
您可以创建模型测试和持续集成(CI)兼容系统,如詹金斯®。创建CI-compatible结果,运行金宝app®测试™使用MATLAB文件®单元测试。
CI-compatible运行测试,参照下面的一般程序:
从MLDATX创建一个测试套件测试文件。
创建一个测试运行器。
为测试创建插件输出或报道的结果。
对于模型覆盖,使用
ModelCoveragePlugin
和CoberturaFormat
。当收集模型覆盖率Cobertura格式:只有顶级模特报道反映在Cobertura XML。
只有模型决定报道反映,Cobertura XML元素映射到条件。
创建插件CI-compatible输出。
将插件添加到测试输出或报道结果。
测试输出插件或覆盖率结果插件添加到测试运行器。
运行测试。
持续集成系统的测试模型
这个例子展示了如何测试一个模型,发布测试经理结果,点击格式的输出结果与一个单一的执行。
使用MATLAB®单元测试创建一个测试套件和测试运行器,这些插件和定制的跑步者:
matlab.unittest.plugins.TestReportPlugin
产生一个MATLAB测试报告。sltest.plugins.TestManagerResultsPlugin
增加了测试经理MATLAB测试报告结果。matlab.unittest.plugins.TAPPlugin
利用文件输出结果。
测试用例创建一个方波输入控制器子系统和横扫25迭代的参数一个
和b
。测试比较α
输出到基线的宽容0.0046
。迭代的测试失败的产量超过了这个宽容。
在运行这个例子之前,确保工作目录是可写的。
1。打开模型®测试™测金宝app试文件。
测试文件= fullfile (“f14ParameterSweepTest.mldatx”);sltest.testmanager.view;sltest.testmanager.load(测试文件);
2。测试经理,配置测试申请报告。
下测试文件选项中,选择生成报告之后执行。部分的扩展,显示几个报告选项。有关更多信息,请参见保存报告选项与一个测试文件。
3所示。从仿真软件创建一个测试套件®测试™测试文件。金宝app
进口matlab.unittest.TestSuite套件= testsuite (“f14ParameterSweepTest.mldatx”);
4所示。创建一个测试运行器。
进口matlab.unittest.TestRunnerf14runner = TestRunner.withNoPlugins;
5。添加TestReportPlugin
测试运行器。
插件生成一个MATLAB测试报告F14Report.pdf
。
进口matlab.unittest.plugins.TestReportPluginpdfFile =“F14Report.pdf”;trp = TestReportPlugin.producingPDF (pdfFile);addPlugin (f14runner trp)
6。添加TestManagerResultsPlugin
测试运行器。
插件添加测试经理MATLAB测试报告结果。
进口sltest.plugins.TestManagerResultsPlugin咯= TestManagerResultsPlugin;addPlugin (f14runner咯)
7所示。添加TAPPlugin
测试运行器。
插件输出的F14Output.tap
文件。
进口matlab.unittest.plugins.TAPPlugin进口matlab.unittest.plugins.ToFiletapFile =“F14Output.tap”;利用= TAPPlugin.producingVersion13(去整理(tapFile));addPlugin (f14runner,挖掘)
8。运行测试。
几个迭代失败,signal-baseline差异超过公差标准。
结果=运行(f14runner套件);
生成测试报告。请稍等。准备测试报告的内容。
将内容添加到测试报告。编写测试报告文件。测试报告已经保存到:/ tmp / Bdoc22b_2054784_2968323 / tp420af76b simulinktest-ex4金宝app0056435 / F14Report.pdf
一个单一的执行测试运行器产生两份报告:
一个包含测试经理MATLAB测试报告的结果。
水龙头与CI系统格式文件,您可以使用。
sltest.testmanager。clearResults sltest.testmanager。明确sltest.testmanager.close
持续集成模型覆盖率结果
这个例子展示了如何生成模型覆盖率结果使用持续集成。报道刊登在Cobertura格式。运行一个仿真软件使用金宝appMATLAB®®测试™测试文件单元测试。
1。进口类和创建一个测试套件的测试文件AutopilotTestFile.mldatx
。
进口matlab.unittest.TestRunner伶俐的= sltest.testmanager.TestFile (“AutopilotTestFile.mldatx”);apsuite = testsuite (aptest.FilePath);
2。创建一个测试运行器。
紫= TestRunner.withNoPlugins;
3所示。设置覆盖度量收集。这个示例使用决定覆盖。Cobertura输出,决定报道被列为条件元素。
进口sltest.plugins.coverage.CoverageMetrics之外= CoverageMetrics (“决定”,真正的);
4所示。设置覆盖报告属性。这个示例中生成一个文件R13Coverage.xml
在当前工作目录中。确保你的工作目录有写权限。
进口sltest.plugins.coverage.ModelCoverageReport进口matlab.unittest.plugins.codecoverage.CoberturaFormatrptfile =“R13Coverage.xml”;rpt = CoberturaFormat (rptfile)
rpt = CoberturaFormat没有属性。
5。创建一个模型覆盖插件。插件收集覆盖率指标和生产Cobertura格式报告。
进口sltest.plugins.ModelCoveragePluginmcp = ModelCoveragePlugin (“收集”之外,“生产”rpt)
mcp = ModelCoveragePlugin属性:RecordModelReferenceCoverage:“<默认>”MetricsSettings: [1 x1 sltest.plugins.coverage.CoverageMetrics]
6。覆盖插件添加到测试运行器。
mcp addPlugin(紫)%关闭命令行警告:警告从Stateflow: cdr: VerifyDangerousComparison警告从Stateflow:运行时:TestVerificationFailed
7所示。运行测试。
apsuite APResult =运行(紫)
APResult = TestResult属性:名称:' AutopilotTestFile >基本设计测试用例/要求1.3测试通过:0失败:1不完整:0时间:0.4848细节:[1 x1 struct]总数:0,1失败,0不完整,测试时间0.48481秒。
8。使再能警告。
警告在Stateflow: cdr: VerifyDangerousComparison警告在Stateflow:运行时:TestVerificationFailed
另请参阅
TestRunner
|TestSuite
|sltest.plugins.ModelCoveragePlugin
|sltest.plugins.TestManagerResultsPlugin
|matlab.unittest.plugins.TestReportPlugin
|matlab.unittest.plugins.TAPPlugin