热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《如何在测试中忽略`静态方法称为动态`检查》经验,为你挑选了1个好方法。

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或重新运行检查.

它看起来像这样:

phpstorm的设置示例

创建自己的范围

    转到设置 - >外观和行为 - >范围(您还可以在设置搜索中搜索"范围").

    按'+'添加新范围

    选择你的目录

    应用/确定


推荐阅读
author-avatar
纯洁的老宁同志
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有