Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Phpunit 如何仅在测试中忽略`静态方法称为动态`检查_Phpunit_Phpstorm_Phpstorm 2016.3 - Fatal编程技术网

Phpunit 如何仅在测试中忽略`静态方法称为动态`检查

Phpunit 如何仅在测试中忽略`静态方法称为动态`检查,phpunit,phpstorm,phpstorm-2016.3,Phpunit,Phpstorm,Phpstorm 2016.3,PHPUnit将所有断言定义为静态函数,但您应该使用对象context1调用它们。 除了这是否是一个好的实践之外,如果您想遵循此实践,您将在PhpStorm中收到警告: 称为动态的静态方法 我喜欢这种检查,不想对所有文件都关闭它。我确实想在phpunit测试中关闭它,但是在我的所有测试中添加noinspection注释既烦人又重复 我怎么能在测试中忽略这一点,而在我的普通代码中进行检查呢? 我正在使用PhpStorm 2016.3 1:请看塞巴斯蒂安的评论 PHPUnit的普通用户应该使用$t

PHPUnit将所有断言定义为静态函数,但您应该使用对象context1调用它们。 除了这是否是一个好的实践之外,如果您想遵循此实践,您将在PhpStorm中收到警告:
称为动态的静态方法

我喜欢这种检查,不想对所有文件都关闭它。我确实想在phpunit测试中关闭它,但是在我的所有测试中添加
noinspection
注释既烦人又重复

我怎么能在测试中忽略这一点,而在我的普通代码中进行检查呢?
我正在使用PhpStorm 2016.3


1:请看塞巴斯蒂安的评论

PHPUnit的普通用户应该使用$this->而不是self::

此外,手册中的所有示例都使用此方法。

要忽略测试中的“称为动态的静态方法”错误,可以定义一个范围,然后更改 该范围的检查

设置名称等适用于PhpStorm 2016.3

范围 通过将测试目录设置为“测试源根目录”,可以使用默认的
Test
范围。您还可以创建自己的范围(见下文)

检查 现在,只对该范围进行检查

  • 转到设置->编辑器->检查(或搜索检查)
  • (在检查中,而不是在所有设置中)搜索“称为动态的静态方法”检查
  • 展开作用域(默认为“在所有作用域中”),并选择新的作用域“除phpunit测试外的所有测试”
  • 检查测试范围
  • 取消选择警告,但保持“所有作用域”处于选中状态
  • 如果您已经为您的项目创建了一个包含排除项的特定范围,那么您也可以在此处仅选择该范围

    您可能需要重新启动phpstorm或重新运行检查

    看起来是这样的:

    创建自己的范围
  • 转到设置->外观和行为->范围(您也可以在设置搜索中搜索“范围”)
  • 按“+”添加新范围
  • 选择你的目录
  • 应用/确定

  • 几张钞票。1) AFAIK默认禁用此检查;2) (有点不相关)如果你有“Php检查(EA扩展)”插件(这种检查时间更长)——它对PHPUnit调用有例外;3) 与其创建自己的作用域,不如使用内置的
    Tests
    scope。当然,为此,您需要将带有测试的文件夹标记为
    测试源根
    @LazyOne如何使用默认的
    测试
    范围来表示“除测试之外的所有内容”?啊,我想我知道了:)