gpt4 book ai didi

PHPSpec 和覆盖率报告

转载 作者:IT王子 更新时间:2023-10-28 23:57:12 26 4
gpt4 key购买 nike

有人知道从 PHPSpec 测试生成覆盖率报告的方法吗?

我考虑过 xdebug,但据我所知它不能为 jenkins 生成报告。

最佳答案

就目前 (1.4.0) 而言,它还不支持代码覆盖率。很高兴听到您对此的反馈。以下是我对代码覆盖率的看法。

PHPSpec 是一个 BDD 框架。如果你在做 BDD,你会在写你的类(class)之前描述你的类(class)的行为。如果您这样做,您的类的相关行为将全部被“测试”正确覆盖。

代码覆盖率工具和指标对于遗留代码(您在没有规范/测试的情况下编写的代码)很有用。您可以使用这样的工具来尝试并达到可以继续 TDD 并受益于免受回归影响的程度。

一般来说,这种方法不如先描述行为 (TDD) 真正有效。单个方法可能足够简单以响应多个所需的行为。您知道,当您进行 TDD 时,您会在此过程中不断重构,删除不需要的代码。您最终得到 10 个规范(测试)命中相同的代码行,所有这些都描述了不同的所需行为,所有这些都有助于理解代码。

“测试”这个词的一个问题是它让人们认为 TDD 是关于验证的。它不是。这是关于沟通。 StoryBDD 是利益相关者之间的通信,而 SpecBDD 是类之间的通信。简单、生动、足够的文档。

为了保证您已经测试过您的代码而进行的代码覆盖率是一种谬论,充其量是一种糟糕的衡量标准。不幸的是,人们认为测试结构比测试行为更重要。这就是 BDD 诞生的原因,以帮助将注意力带回到正确的轨道上。确保这部分代码经过测试是假的,因为如果重构得很好,那部分代码可以做不止一件事,它应该做的。此外,您还将最终测试访问器、修饰符和构造函数等内容。

但我愿意听取社区对此的意见。我可以看到代码覆盖率在哪里有用。另外,由于 Sebastian Bergmann 很好地将它从 PHPUnit 中模块化,我可以在 PHPSpec 中重用它。我宁愿你先写你的规范。您可以免费获得相关行为的 100% 代码覆盖率。在我看来,这才是最重要的。

关于PHPSpec 和覆盖率报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11783854/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com