主要内容

连续集成系统的输出结果

您可以创建与连续集成(CI)系统兼容的模型测试,例如Jenkins™。要创建CI兼容的结果,请运行您的金宝app®TEST™使用matlab的文件®单元测试。

要运行CI兼容的测试,请按照此一般程序进行操作:

  1. 从MLDATX测试文件创建测试套件。

  2. 创建一个测试赛道。

  3. 为测试输出或覆盖结果创建插件。

    • 对于测试输出,使用Tapplugin.或者XMLPlugin.

    • 对于模型覆盖范围,使用modelcoverageplugin.coberturaformat。在Cobertura格式收集模型覆盖时:

      • 只有顶级模型覆盖率被反映在Cobertura XML中。

      • 仅反映模型决策覆盖范围,它映射到Cobertura XML中的条件元素。

  4. 为CI兼容输出创建插件。

  5. 将插件添加到测试输出或覆盖结果。

  6. 将测试输出插件或覆盖结果插件添加到Test Runner。

  7. 运行测试。

测试连续集成系统的模型

此示例显示如何测试模型,发布测试管理器结果和输出结果,以单一执行点按格式。

您使用MATLAB®单元测试创​​建测试套件和测试赛道,并使用这些插件自定义RINNER:

测试用例为控制器子系统创建一个方波输入,并扫过25个参数迭代一种B.。测试比较了α输出到具有容差的基线0.0046。测试失败,输出超过这种公差的迭代。

在运行此示例之前,请确保工作文件夹可写。

1.打开Simulink金宝app®Tear™测试文件。

testfile = fullfile('f14parametersweeptest.mldatx');sltest.testmanager.view;sltest.testmanager.load(testfile);

2.在“测试管理器”中,配置用于报告的测试文件。

在下面测试文件选项, 选择执行后生成报告。该部分展开,显示多个报告选项。有关更多信息,请参阅使用测试文件保存报告选项

3.从Simulink®Tear™测试文件创建测试套件。金宝app

进口matlab.unittest.testsuite.套房= testsuite('f14parametersweeptest.mldatx');

4.创建一个测试赛道。

进口matlab.unittest.testrunner.f14runner = testrunner.withnoplugins;

5.添加testreportplugin.到测试赛道。

该插件产生了MATLAB测试报告f14report.pdf.

进口matlab.unittest.plugins.testreportplugin.pdffile ='f14report.pdf';TRP = TESTREPORTPLUGIN.PRODONTEPDF(PDFFILE);AddPlugin(F14Runner,TRP)

6.添加testmanagerresultsplugin.到测试赛道。

插件将测试管理器添加到Matlab测试报告。

进口sltest.plugins.testmanagerresultsplugin.tmr = testmanagerresultsplugin;AddPlugin(F14Runner,TMR)

7.添加Tapplugin.到测试赛道。

插件输出到f14output.tap.文件。

进口matlab.unittest.plugins.tapplugin.进口matlab.unittest.plugins.tofile.tapfile ='f14output.tap';点击= tapplugin.produtingversion13(Tofile(Tapfile));AddPlugin(F14Runner,Tap)

8.运行测试。

几个迭代失败,其中信号基线差超过公差标准。

结果= run(f14runner,套房);
生成测试报告。请稍等。为测试报告准备内容。
将内容添加到测试报告。将测试报告写入文件。测试报告已保存到:/tmp/bdoc21a_1622859_255720/tpdb9024e8/simulinktest-ex4005643金宝app5/f14report.pdf

测试赛道的单个执行产生两个报告:

  • 一个包含测试管理器结果的MATLAB测试报告。

  • 可以使用CI Systems的点按格式文件。

sltest.testManager.ClearResults SLTEST.TestManager.clear sltest.testManager.Close.

模型覆盖结果持续集成

此示例显示如何为连续集成生成模型覆盖结果。Cobertura格式报告了覆盖范围。您使用Matlab®金宝app单元测试运行Simulink®IST™测试文件。

1.导入类并从测试文件创建测试套件autopilottestfile.mldatx.

进口matlab.unittest.testrunner.aptest = sltest.testManager.Testfile('autopilottestfile.mldatx');apsuite = testsuite(aptest.filepath);

2.创建测试赛道。

trun = testrunner.withnoplugins;

3.将覆盖度量设置为收集。此示例使用决策覆盖范围。在Cobertura产出中,决策覆盖范围列为条件元素。

进口sltest.plugins.coverage.CoverageMetrics.cmet =覆盖术('决定',真的);

4.设置覆盖报告属性。此示例生成文件r13coverage.xml.xml.在当前的工作文件夹中。确保您的工作文件夹具有写入权限。

进口sltest.plugins.coverage.modelcoveragreeport.进口matlab.unittest.plugins.codecoverage.coberturaformatrptfile ='r13coverage.xml';RPT = COBERTURAFORMAT(RPTFILE)
RPT = CoberturaFormat没有属性。

5.创建模型覆盖插件。该插件收集覆盖度量标准并生成Cobertura格式报告。

进口sltest.plugins.modelcoveragepluginmcp = modelcoverageplugin('收集',cmet,'制作',RPT)
MCP = ModelCoveragePlugin具有属性:RecordModelReferenceCoverage:''metricsettings:[1x1 sltest.plugins.coverage.CoverageMetrics]

6.将Coverage插件添加到Test Runner中。

AddPlugin(Trun,MCP)%关闭命令行警告:警告离开StateFlow:CDR:验证DangoreComparison警告离开StateFlow:运行时:测试验证措施

7.运行测试。

Apresult = run(trun,apsuite)
Apresult = testResult属性:名称:'AutopiLottestfile>基本设计测试用例/要求1.3测试'传递:0失败:1不完整:0持续时间:4.5704详细信息:[1x1 struct]总计:0传递,1失败,0不完整,0。4.5704秒测试时间。

8.可重新启动。

警告StateFlow:CDR:验证DangoreComparison警告StateFlow:运行时:测试验证措施

也可以看看

|||||

相关话题