好消息,PHP开发者们!如果你使用PHPUnit)库来管理和运行单元测试,现在可以将测试汇总结果发送到New Relic的见解并显示有关测试成功和失败的有用信息。

PHPUnit)仪表板

(点击放大)

为什么这个有用

测试汇总数据的仪表板可以让您快速看到整个测试成功的快照,并深入到失败套件以确定其原因。使用仪表板,您可以一眼看到,例如,某个特定的测试套件在上次提交之后突然开始失败。点击该套件的运行ID可以看到某个特定的测试是罪魁祸首,因为它未能断言某个变量为真。

跟踪您的测试历史记录还允许您查看结果中的模式。您可以将本周失败的测试数与上周失败的测试数进行比较。您可以确定一个失败的测试只在特定的测试机器上失败,或者它只在20%的时间内失败。也许您会发现一个集成测试通常完成得很快,除了10%的时间需要花费很长时间。

New Relic的设计是为了方便生成和有意义地显示你的测试事件。让我们浏览一些示例,并为您自己的测试仪表板激发一些想法。

如何开始

该功能默认禁用。要启用它,请查找或添加newrelic.phpunit_events.enabled在你的newrelic.ini文件并设置为真正的。您需要重新启动Apache或备用web调度程序才能使更改生效。

请注意,异常消息是与事件一起收集和发送的。另外,如果你使用PHPUnit-disallow-test-output选项,将打印输出为“有风险”的测试标记为,测试事件将包括出错的输出。

当启用时,PHP Agent检测PHPUnit命令,并使用测试套件及其单独测试数据的一组属性填充New Relic Insights。您可以使用NRQL查询查询数据,并设置对您重要的信息仪表板。

示例查询

下面的示例说明了您可以创建的用于回答问题和获得见解的小部件的类型。对于小部件背后的NRQL查询字符串,查看我们的文档页面

%成功:套件或测试通过的百分比是多少?

套件通过截图

测试结果:测试结果的分解是什么?

测试结果的截图

测试失败:每个测试通过的概率是多少?

测试失败的截图

测试套件的失败:每个套件通过的时间百分比是多少,这是否随着时间的推移而一致?

通过频率截图

持续时间:每个测试套件运行需要多长时间,这是否随着时间的推移而保持一致?

时间频率截图

有关方面

因为PHPUnit测试套件通过它的运行ID链接到各个测试,所以您可以使用面小部件筛选特定测试运行的结果。例如,如果您创建一个带有最新失败测试套件的小部件并将其链接到当前仪表板,您可以单击套件运行ID,周围的小部件将更新该套件的信息。

在下面的示例中,您可以通过单击run看到这一点77年a075a14a078e81这家公司经营着这个套间FlakyTest我们知道有两个测试testFoo,失败了。

最近不成功的套间截图

(点击放大)

更多的信息

要了解更多关于如何构建和编辑Insight仪表板的信息,请查看我们的很棒的文档

你是否想做一个单元测试仪表板,但你不喜欢使用PHPUnit?控件发送自己的自定义事件语言的代理洞察自定义事件API

Erika Arnold在New Relic的PHP代理团队工作。作为一名前生物学家,她在世界各地收集虫子。现在她只喜欢在代码中寻找bug。查看贴子

有兴趣为New Relic博客写作吗?亚搏体育登入网给我们一个推介!