2015-10-07 50 views
10

在现代编程工作流程中,一次使用多个测试框架。例如,在PHP世界中,一次使用单元测试,集成测试和功能/验收测试是事实上的标准方法。大多数情况下,不同的框架用于不同的测试类型。我将PHPSpec用于单元,PHPunit用于集成,CodeCeption用于功能测试。来自不同测试框架的汇总代码覆盖率

是否有可能汇总每个框架返回的代码覆盖率结果?是否有任何工具可汇总来自不同框架的代码覆盖率报告? 或者仅当每个框架不正确时才可以查看单个结果,因为每个代码覆盖率报告都没有考虑到其他测试。

回答

-1

我想我们是在同一条船上。我们如何判断我们使用这种全新的测试工具进行融合。我们开始与团队讨论,并决定去寻求

SonarSource。 - 对于PHP插件和现场演示

PHP报告Stlyle - 我建议您访问现场演示。它会帮助更多。

enter image description here

这是非常强大的工具。它给我们所有的代码。

+0

你的答案看起来像一个广告现在。你能否提供更多信息它是如何回答这个问题的?你的屏幕截图全是Java,请告诉我们更多它可以为PHP做些什么。 – Naktibalda

+0

回答你刚刚打开的链接,我在这篇文章中添加或转到此链接:http://nemo.sonarqube.org/(DEMO)当你点击PHP时,它会显示所有组件的覆盖范围。 Sonar Source是为所有技术设计的。 –

3

执行此任务其实很简单。所有的框架都依赖于相同的库来生成代码覆盖率。

正如您所看到的,sebastianbergmann/php-code-coverage中的生成器已经支持合并函数(第335行)来合并不同的聚合。由于您是使用测试的团队的一员,因此我认为您可以轻松更改测试执行层以便在单个php进程中收集代码覆盖范围,并将它们合并。

-1

PHP Test Coverage Tool从语义设计(我公司)收集和分析来自任何

  • 框架
  • 测试设置
  • 单独测试
  • 甚至特设手动测试相结合的测试覆盖率。

运行一些测试集后,我们的工具可以很容易地被触发以将测试覆盖矢量转储到文件;你需要稍微修改框架调用

TCVDump(); 

框架完成后,或者您也可以通过触摸被测试覆盖工具添加了一个容易被发现,专题网页调用TCVDDump()。每一个这样的呼叫产生一个时间标记或用户命名的文件(例如,框架或测试集之后),所以它们很容易分辨

包括作为工具的一部分的图形测试覆盖显示将交互地选择和合并小或大的这样的文件集产生一个连贯的整体,既显示和总结。它还会比较测试覆盖矢量,以确定一个测试集的覆盖范围是否包含/与另一个测试集相交等。 测试覆盖率显示组件还将导出覆盖率结果的文本或XML/HTML摘要。

,你甚至可以运行在不同的子系统测试,并结合他们。此测试覆盖工具是除PHP以外的许多语言的大型工具系列的一部分;在多语言应用系统上运行的测试也可以结合使用,以提供多语言应用的覆盖范围概览。

1

有这个工具:phpcov。它允许合并许多覆盖文件合并选项:

$ parallel --gnu :::             \ 
'phpunit --coverage-php /tmp/coverage/FooTest.cov tests/FooTest' \ 
'phpunit --coverage-php /tmp/coverage/BarTest.cov tests/BarTest' 

$ phpcov merge /tmp/coverage --clover /tmp/clover.xml 
phpcov 2.0.0 by Sebastian Bergmann. 

Generating code coverage report in Clover XML format ... done 
相关问题