首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHPMD和PHPCS Camelcase用于测试

PHPMD和PHPCS Camelcase用于测试
EN

Stack Overflow用户
提问于 2017-05-19 22:28:22
回答 1查看 5.5K关注 0票数 4

我只是在我的项目中同时安装了PHPMDPHPCS

现在,我想定制他们一点,但似乎无法实现它。

我收到两个警告,我想删除我的所有项目:

  • phpcs:公共方法名MyTests::my_test_that_should_pass不是骆驼帽格式
  • phpmd:my_test_that_should_pass方法不适用于骆驼。

使用PHPMD时,我尝试更改:.composer/vendor/phpmd/phpmd/src/main/resources/rulesets/controversial.xml,并将allow-underscore-test设置为true,就像前面提到的这里

有了PHPCS,我真的不知道该怎么做。

知道吗?

https://phpmd.org/rules/controversial.html

EN

回答 1

Stack Overflow用户

发布于 2017-05-20 04:24:35

PHPCS使用一个名为ruleset.xml的文件来允许您创建自己的自定义标准。它的文档在这里:CodeSniffer/wiki/Annotated-Ruleset

如果您想要项目的特定标准,可以在项目的根处包含一个phpcs.xml文件。它与ruleset.xml文件的格式完全相同,甚至可以指定默认需要检查哪些文件和文件夹。这方面的文档如下:CodeSniffer/wiki/Advanced-Usage#using-a-default-configuration-file

我不知道您现在在PHPCS中使用的是什么编码标准,但我假设您正在使用PSR2。

如果使用phpcs选项运行-s,您将看到错误代码的错误消息,如下所示:Method name "MyTests::my_test_that_should_pass" is not in camel caps format (PSR1.Methods.CamelCapsMethodName.NotCamelCaps)。代码是你在这里需要的。

对于您的自定义标准,您需要PSR2,但您不需要PSR1.Methods.CamelCapsMethodName嗅探,因为您显然不希望PSR1.Methods.CamelCapsMethodName检查骆驼的情况。因此,创建一个包含以下内容的规则集:

代码语言:javascript
复制
<?xml version="1.0"?>
<ruleset name="MyStandard">
    <description>My custom coding standard.</description>
    <rule ref="PSR2">
        <exclude name="PSR1.Methods.CamelCapsMethodName"/>
    </rule>
</ruleset>

保存该文件,并将其命名为ruleset.xmlphpcs.xml,然后使用它运行PHPCS:phpcs /path/to/code --standard=/path/to/ruleset.xml

看看我在注释顶部链接的带注释的规则集文档,因为有更多的规则可以使用这些规则集。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44079845

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档