3

我刚刚开始使用 PHPUnit 和 Selenium,但一个问题一直困扰着我:我似乎无法获得正确的覆盖率数据。

我的应用程序让用户完成一个涉及多个页面的多步骤过程,每个页面在 PHP 中由一个显示函数(用于输出 HTML)和一个处理函数(用于处理 POST 操作的结果)处理。我的基线测试贯穿整个过程,并在访问了大约七页后正确完成。我已经通过视觉和测试用例本身的断言验证了这一点。

这个问题是覆盖率报告表明只执行了前几个函数,而其他函数从未被访问过(尽管我进行了视觉和测试用例检查)。我认为问题是在第一个函数期间发生的 PHP 通知,这可能会阻止 XDebug/PHPUnit 收集统计信息,但我解决了这个问题,问题仍然存在。

有什么东西可以在测试中途停止收集覆盖率统计信息吗?所有有问题的函数都在同一个文件中,并从(不同的)中央 PHP 脚本调用,该脚本根据递增的会话变量选择要调用的函数。

4

0 回答 0