只需点击它......给它一个小点PY点击点按TAP-AROO
最后一篇我们探索了将Matlab连接到Jenkins,运行测试,并确保构建在任何测试失败时失败。我们利用从测试运行返回的TestResult阵列,以便在需要时与非零退出状态代码退出MATLAB,以便在需要时将其与Jenkins进行通信。
如果您有R2014A或更高版本,这将有效,但有更好的方法。为了真正与Jenkins融合,Matlab和Jenkins需要更全面地互相沟通。这是一个很好的方法是利用标准,语言独立测试任何协议(点按)。使用点击jenkins的插件和Tapplugin.对于Matlab TestRunner,Matlab可以向Jenkins提供更详细的信息。此信息包括运行哪些测试,该测试失败,并且已过滤。此外,还启用其他Jenkins功能,例如历史记录跟踪。
已经足够!这是怎么做的?
在Jenkins中设置点击插件
首先,Jenkins需要Tap插件以解释Tap流。这是从Jenkins Plugin Manager完成的,可以通过搜索“Tap”来轻松找到:
一旦安装了一个新的“发布点击结果”选项可用作构建后的操作。
将Jenkins指向将生成Tap流的位置后,我们可以进一步配置Plugin行为,因为我们认为适合。例如,如果没有运行测试,或者如果在TAP计划中的测试数量不同或者如果测试数量不同,则我们可以失败构建。重要的是,如果存在任何测试失败,我们需要检查失败的选项。在这里,我们正在拾取具有“.tap”扩展名的任何文件,如果存在任何测试失败,我们将失败,如果没有运行测试,或者如果不完整。
在matlab中设置磁扣
从最后一篇文章我们已经联系并运行了测试,现在我们只需要特定的测试运行以输出将由Jenkins拾取和分析的TAP流。为此,我们可以创建自己的TestRunner并将Tap插件添加到它。但是,一次考虑因素是,我们不希望MATLAB中生成的测试输出来实现TAP流的方式,使其无效,因此我们需要确保Tap Stream是指向命令窗口以外的地方。我们还需要Tap Stream来输出到Jenkins Plugin可以找到分析的文件。通过将Tapplugin输出发送到A,可以方便地解决这些问题tofile.溪流。测试运行脚本成为:
进口matlab.unittest.testsuite.;进口matlab.unittest.testrunner.;进口matlab.unittest.plugins.tapplugin.;进口matlab.unittest.plugins.tofile.;尝试套房= testsuite.frompachage('测试用例'那'inclodingsubpackages',真的);%创建一个带有文本输出的典型赛道runner = testrunner.withtextoutput();%添加点击插件并将其输出引导到文件tapfile = fullfile(getenv('工作区'),'testresults.tap');runner.addplugin(tapplugin.produteoriginalformat(tofile(tapfile)));%运行测试结果= runner.run(套件);显示(结果);抓住E DISP(GetReport(e,'延伸'));出口(1);结尾出口;
运行Jenkins Build现在在存在这些测试失败时失败了:
享受劳动力的果实
Jenkins现在还将为您提供深入的洞察力,因为传递的测试失败,或者被过滤给您,可以快速导航到失败综合征并开始调查。
此外,许多Jenkins / Tap-Plugin功能随着时间的推移,增加了对软件的健康状况的改进的可视性,例如通过项目页面上列出的传递测试,失败测试和过滤测试的历史记录:
在这里,您可以看到测试套件的历史增长和健康,因为它涉及失败和过滤的测试内容。例如,如果我们修复此测试套件中的故障并运行新作业,我们会看到红色消失。
同样,如果我们这样做需要的工作到不拖动的测试内容尚未运行......“Hasta La Vista Al Amarillo!
请注意,有许多不同的方法来设置CI系统,这只是一个快速示例。那么说,如果你使用这种方法,你将想确保你在构建之间清理你的工作空间来删除产生的这些抽头文件,以便每个构建都以新的结果开始,否则以前作业的点击文件将与那些从中肆无忌惮目前的工作。
你怎么看?您是否以前使用过的语言独立点按格式进行测试结果?您将如何使用其余的生态系统进行MATLAB测试?让我们在评论中知道!
- 类别:
- 持续集成
注释
要发表评论,请点击这里登录您的MathWorks帐户或创建新的。