开发人员区域

使用MATLAB先进的软件开发

只需点击它......给它一个小点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测试?让我们在评论中知道!




发布与MATLAB®R2014B

|
  • 打印
  • 发送电子邮件

注释

要发表评论,请点击这里登录您的MathWorks帐户或创建新的。