如何仅在测试中忽略“称为动态的静态方法”检查
How to ignore `static method called as dynamic` inspection in tests only
PHPUnit 将所有断言定义为静态函数,但您应该使用对象上下文1 调用它们。
除了这是否是一个好的做法,如果你想遵循这个做法,你将在 PhpStorm 中收到警告:
static method called as dynamic
我喜欢这个检查,不想为所有文件关闭它。我 确实 想为 phpunit 测试关闭它,但是在我的所有测试中添加 noinspection
评论是烦人和重复的。
如何在测试中忽略它,但在我的正常代码中进行检查?
我正在使用 PhpStorm 2016.3
1:请参阅塞巴斯蒂安对 this github issue 的评论。
A regular user of PHPUnit should use $this-> instead of self::
另外,手册中的所有示例都使用此方法。
要忽略测试中的 "static method called as dynamic" 错误,您可以定义一个范围,然后更改
该范围的检查。
设置名称等适用于 PhpStorm 2016.3。
范围
您可以使用默认的 Test
范围,方法是将您的测试目录设置为 "test sources root"。您还可以创建自己的范围(见下文)
检验
现在让你的检查只适用于这个范围
- 转到设置 -> 编辑器 -> 检查(或搜索检查)
- 搜索(在检查中,而不是在所有设置中)'static method called as dynamic' 检查
- 扩大范围(默认为'in all scopes'),select你的新范围"all but phpunit tests"
- 检查测试范围
- 取消select 警告,但保留 'all scopes' selected.
如果您为您的项目创建了一个特定的范围,但您也可以在此处select只创建该范围。
您可能需要重新启动 phpstorm 或重新运行 检查。
看起来是这样的:
创建您自己的范围
- 转到设置 -> 外观和行为 -> 范围(您也可以在设置搜索中搜索 'scopes')。
- 按“+”添加新范围
- Select 你的目录
- 应用/确定
PHPUnit 将所有断言定义为静态函数,但您应该使用对象上下文1 调用它们。
除了这是否是一个好的做法,如果你想遵循这个做法,你将在 PhpStorm 中收到警告:
static method called as dynamic
我喜欢这个检查,不想为所有文件关闭它。我 确实 想为 phpunit 测试关闭它,但是在我的所有测试中添加 noinspection
评论是烦人和重复的。
如何在测试中忽略它,但在我的正常代码中进行检查?
我正在使用 PhpStorm 2016.3
1:请参阅塞巴斯蒂安对 this github issue 的评论。
A regular user of PHPUnit should use $this-> instead of self::
另外,手册中的所有示例都使用此方法。
要忽略测试中的 "static method called as dynamic" 错误,您可以定义一个范围,然后更改 该范围的检查。
设置名称等适用于 PhpStorm 2016.3。
范围
您可以使用默认的 Test
范围,方法是将您的测试目录设置为 "test sources root"。您还可以创建自己的范围(见下文)
检验
现在让你的检查只适用于这个范围
- 转到设置 -> 编辑器 -> 检查(或搜索检查)
- 搜索(在检查中,而不是在所有设置中)'static method called as dynamic' 检查
- 扩大范围(默认为'in all scopes'),select你的新范围"all but phpunit tests"
- 检查测试范围
- 取消select 警告,但保留 'all scopes' selected.
如果您为您的项目创建了一个特定的范围,但您也可以在此处select只创建该范围。
您可能需要重新启动 phpstorm 或重新运行 检查。
看起来是这样的:
创建您自己的范围
- 转到设置 -> 外观和行为 -> 范围(您也可以在设置搜索中搜索 'scopes')。
- 按“+”添加新范围
- Select 你的目录
- 应用/确定