2012-09-28 53 views
3

首先的问题是: 在PHPUnit的3.5,是有办法来生成一个单一的测试,而不在整个测试报告中的覆盖率报告套件被覆盖。即只更新受影响文件的覆盖率报告?我仍然希望输出到同一个文件夹。生成单个文件新的代码覆盖不清除所有其他覆盖率报告PHPUnit中

对于那些想一点背景知识:

在PHPUnit 3.5的工作,我有一个项目,该项目追溯需要被覆盖的单元测试。现在为了知道哪些类仍然需要测试,我运行整个测试套件并在其上生成一个html覆盖报告。因为运行整个套件需要一些时间,所以我希望避免每次运行时都要检查哪些测试仍然需要实施。但是同时我也希望我目前正在使用的单元测试的覆盖率报告,以便我可以确保在一个类中执行每行代码(这当然是非常快速来回的,因此运行整个套件来生成此报告是没有意义的)。我可以为单个测试生成报告,并且可以为整个套件生成报告。但是我期待的是一种混合体系,它可以让我首先为整个套件生成一份报告,然后仅用我目前正在进行的测试的覆盖率信息来更新报告。

我已经设置了一个ruby脚本,它将简单地运行我正在处理的当前文件的测试,并生成该文件的覆盖率报告。但是像这样工作,即使测试没有在这些类中执行任何操作,它也会重置所有其他文件的覆盖率报告。

任何想法?

回答

0

这是不可能的本身,但如果你能想出如何重新从XML覆盖数据文件的HTML,你可以修改你的脚本

  1. 复制覆盖XML的完整运行到中转区域。
  2. 运行单个测试时,将新的XML文件复制到该区域。这不一定会涵盖来自覆盖同一个类的两个测试的覆盖范围,但我从您的描述中猜测,您覆盖了来自每个测试的单个类,反之亦然。
  3. 从XML重建HTML。你可以通过查看源代码来弄清楚如何做到这一点,但我怀疑它本身也是可能的。
+0

谢谢,虽然有点不幸,正确的答案是,这是不可能的:(如果我找出如何实现你的建议,我会回来。 –

相关问题