作者:纯洁的老宁同志 | 来源:互联网 | 2023-02-09 18:05
PHPUnit将所有断言定义为静态函数,但您应该使用对象上下文1来调用它们.除非这是一个好的做法,如果你想遵循这种做法,你将在PhpStorm收到警告:
static method called as dynamic
我喜欢这个检查,不想为所有文件关闭它.我确实希望将其关闭以进行phpunit测试,但noinspection
在我的所有测试中添加注释都很烦人且重复.
我如何在测试中忽略这一点,但是在我的普通代码中进行了检查?
我正在使用PhpStorm 2016.3
1:看看塞巴斯蒂安对这个github问题的评论.
PHPUnit的普通用户应该使用$ this->而不是self ::
此外,手册中的所有示例都使用此方法.
1> Nanne..:
要忽略测试中的"静态方法称为动态"错误,可以定义范围,然后更改该范围的检查.
设置名称等适用于PhpStorm 2016.3.
范围
您可以使用默认Test
范围,将tests目录设置为"test sources root".您也可以创建自己的范围(见下文)
检查
现在让您的检查仅适用于此范围
转到设置 - >编辑器 - >检查(或搜索检查)
搜索(在检查中,而不是在所有设置中)搜索"静态方法称为动态"检查
扩展范围(默认为'在所有范围内'),并选择新范围"除了phpunit测试之外的所有"
检查测试范围
取消选择警告,但保持选中"所有范围".
如果已使用排除项为项目创建了特定范围,则还可以在此处仅选择该范围.
您可能需要重新启动phpstorm或重新运行检查.
它看起来像这样:
创建自己的范围
转到设置 - >外观和行为 - >范围(您还可以在设置搜索中搜索"范围").
按'+'添加新范围
选择你的目录
应用/确定