问题描述
当使用 PHP CS Fixer 解决文件保存时的语法错误并使用 Symfony 规则集时,任何不是 camelCase 的函数名称都将被更正(如预期) .
然而,在编写基于 PHP 单元的测试时,通常的做法是将函数名称设为 snake_case。这通常意味着 PHP CS Fixer 会自动解决问题,即使不需要。
是否有特定的注释可以放在函数上方以防止这种情况发生?
解决方法
根据 this Github issue,不允许每个代码块出现异常是设计决策。
如果您的单元测试位于单独的目录甚至单独的文件中,您可以按照 project's docs 中的说明相应地使用 exclude
和 notPath
。
PHP CS Fixer 没有将所有函数名称从 snake_case
更改为 camelCase
的规则。
但是,有一个规则 php_unit_method_casing
强制 PHPUnit 测试方法使用驼峰(或蛇)大小写,并且在 Symfony 规则集中使用默认值,即驼峰大小写。
这是您想要更改的,通过使用非默认版本覆盖 Symfony 规则集中的规则:
[
'php_unit_method_casing' => ['case' => 'snake_case'],],