如何防止 PHP CS Fixer 修复特定的函数名称?
How do I prevent PHP CS Fixer from fixing specific function names?
当使用 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
which enforces camel (or snake) case for PHPUnit test methods, and in Symfony 规则集使用默认值,即驼峰大小写。
这是你想要改变的,通过使用非默认版本覆盖 Symfony 规则集的规则:
[
'php_unit_method_casing' => ['case' => 'snake_case'],
],
当使用 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
which enforces camel (or snake) case for PHPUnit test methods, and in Symfony 规则集使用默认值,即驼峰大小写。
这是你想要改变的,通过使用非默认版本覆盖 Symfony 规则集的规则:
[
'php_unit_method_casing' => ['case' => 'snake_case'],
],