如何防止 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.

中的描述相应地使用 excludenotPath

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'],
],