Phpunit: ExpectExceptionMessageRegExp()已在PHPUnit 9中删除,而在PHPUnit 8中未给出弃用警告

创建于 2020-03-06  ·  3评论  ·  资料来源: sebastianbergmann/phpunit

| 问| 一种
| -------------------- | ---------------
| PHPUnit版本| 9
| PHP版本| 7.3
| 安装方法作曲家

概括

引入expectExceptionMessageMatchesexpectExceptionMessageRegExp将在9中触发警告,并在10中将其删除。
但是9.0完全删除了该方法,而不是在其中添加警告。 这意味着在使用该方法运行测试时,删除该方法时不会报告过时警告。
而且,没有更改日志说明此方法已被弃用(PHPUnit 8更改日志未提及弃用expectExceptionMessageRegExp ,而PHPUnit 9更改日志则表示已删除)。

featurassertion typbug

最有用的评论

好吧,最初的提交打算在9中添加弃用警告(请参阅链接的提交),然后在10中删除。这就是为什么8.4和8.5中没有警告的原因。
问题在于,删除操作没有遵循初始计划,也没有在8.x中添加弃用警告,这意味着根本没有警告。

警告的价值在于,我可以在看到警告时(并且一次全部)处理过时的问题,而不必修复由于已删除方法而导致的致命错误,请在每个使用此位置的地方重复此操作,直到我不知道为止再次出现致命错误(或者我确实可以在IDE中搜索expectExceptionMessageRegExp ,但是那不是PHPUnit可以帮助我进行升级,并且可以证明根本不使用弃用警告...)。
如果可能的话,我认为在8.5中添加警告是可以的。

所有3条评论

expectExceptionMessageMatches仅在8.4中添加,这就是为什么PHPUnit 8声明根本不讨论这一点的原因。

expectExceptionMessageRegExp()在PHPUnit 8.4中已弃用。 我同意,在烦人的情况下使用此方法时,不会报告此弃用的事实,但是在PHPUnit 8.5中添加此行为是否真的有价值?

好吧,最初的提交打算在9中添加弃用警告(请参阅链接的提交),然后在10中删除。这就是为什么8.4和8.5中没有警告的原因。
问题在于,删除操作没有遵循初始计划,也没有在8.x中添加弃用警告,这意味着根本没有警告。

警告的价值在于,我可以在看到警告时(并且一次全部)处理过时的问题,而不必修复由于已删除方法而导致的致命错误,请在每个使用此位置的地方重复此操作,直到我不知道为止再次出现致命错误(或者我确实可以在IDE中搜索expectExceptionMessageRegExp ,但是那不是PHPUnit可以帮助我进行升级,并且可以证明根本不使用弃用警告...)。
如果可能的话,我认为在8.5中添加警告是可以的。

此页面是否有帮助?
0 / 5 - 0 等级