
没有软件是没有错误的。这是适用于每种编程语言和每种应用程序的公理。
当这些错误在您的网站中部署在生产环境中时,您可能会遭受不同严重程度的不利后果。这些是一些例子,从烦人到经济破坏:
没有任何一种工具足以处理从所有不同可能角度测试应用程序的所有方面。事实上,除了发现错误之外,执行额外的测试来验证应用程序的其他功能也很重要,例如:
在本文中,我们将回顾开源社区创建的10个工具,这些工具可以帮助构建用于测试WordPress插件中的PHP代码的堆栈。其中一些工具是专门为测试PHP代码而设计的;其他用于测试WordPress代码;并创建了一些其他工具来处理一些对测试有用的通用功能。

PHPUnit标志
是一个面向程序员的PHP测试框架。它是在PHP代码中执行单元测试的更流行的框架,目的是验证源代码的各个单元。
PHPUnit测试允许开发人员在开发周期内尽早发现问题,有助于确保没有引入代码回归(即对某些代码的更改不会在其他地方引起问题)。
PHPUnit的主要功能是:

Brain Monkey标志
是PHP和WordPress的测试工具。它提供了与框架无关的工具,允许您重新定义PHP *** 并测试任何PHP应用程序的行为。它还提供了专门用于测试WordPress代码的工具。
Brain Monkey的主要特点是:
add_filter或do_action)按预期调用功能
github上的Brain Faker
使用(一个流行的用于生成假数据的PHP库)和Brain Monkey来提供轻松生成假WordPress对象和相关功能供您测试,包括:
WP_Post实例,以及模拟相关函数,如get_post和get_post_fieldWP_User实例和模拟相关函数,如get_userdata、get_user_by、user_can等WP_Term实例,以及模拟相关函数,如get_term和get_term_byWP_Comment实例WP_Site实例和模拟相关功能,如get_siteWP_Post_Type实例,以及模拟相关函数,如get_post_type_object和post_type_existsWP_Taxonomy实例,以及模拟相关函数,如get_taxonomy和taxonomy_existsWP_Error实例Brain Faker的主要特点是:
2022-04-17T13:06:58+00:00),用户名将是合适的(例如"John Smith"),虚假文章实例是由虚假用户实例创作的,等等上
gitHub上的Mockery
是一个简单而灵活的PHP模拟对象框架,旨在与PHPUnit、或任何其他单元测试框架一起使用。它提供了一个测试双重框架,能够使用人类可读的(DSL) 定义所有可能的对象操作和交互。
Mockery的主要功能是:
$mock->shouldReceive('myMethod')->once()->andReturn('Hello world!');)
WordPress导出工具
将网站的WordPress数据作为XML文件下载到您的设备,包括文章、页面、自定义文章类型、评论、自定义字段、类别、标签、自定义分类、用户和媒体。XML文件具有可导入任何WordPress站点的自定义格式(称为WordPress eXtended RSS或WXR文件)。此工具不是专门为测试而设计的。但是,它的用处在于能够创建包含合适数据集的WordPress数据库的快照,然后可以将其用于测试。这意味着可以将包含真实数据的生产中的WordPress站点导出并导入到开发或暂存实例中以测试新功能。
WordPress导出工具的主要功能是:

Guzzle标志
是一个PHP HTTP客户端,可以轻松发送HTTP请求并与Web服务集成。
Guzzle是一种通用工具,因此测试只是其可能的用例之一。与等本地Web服务器一起,Guzzle可以执行集成测试:您可以使用Guzzle向开发Web服务器发送HTTP请求,然后将响应传递给PHPUnit中的单元测试,以验证内容和标头按预期设置。
Guzzle的主要功能是:

WP-CLI标志
是WordPress的命令行界面。有了它,您无需使用 *** 浏览器即可更新插件、配置多站点安装等等。
WP-CLI并不是专门的测试工具,但测试是其众多用例之一。例如,在启动新的开发Web服务器后,您可以执行包含WP-CLI命令的bash脚本,将测试数据导入WordPress站点,创建具有适当角色和功能的用户,安装所需的第三方插件,以及其他此类任务。
由于带有WP-CLI命令的脚本可以存储在您的Git存储库中,因此执行集成测试的过程可以自动化并集成到您的持续集成过程中:
WP-CLI的主要功能是:

XDebug Logo
是PHP的一个扩展,它提供了一系列功能来改善PHP开发体验,包括调试、改进PHP的错误报告、跟踪、分析和代码覆盖率分析。
XDebug不会帮助您测试您的代码,但会帮助您找出错误所在。将XDebug与PHPUnit结合起来特别有效:如果某个测试失败并且找不到问题的根源,则可以使用XDebug在单元测试代码中添加断点。再次运行单元测试时,PHP脚本将在每个断点处暂停,允许您检查当前执行状态(调用堆栈、属性和对象值等)并尝试发现问题所在。
XDebug的主要功能是:
var_dump用于调试代码更强大
PHPStan Logo
是PHP的静态分析工具,旨在在编写测试之前发现代码中的错误。
PHPStan的目标是减少开发人员必须编写的测试数量。该工具是测试堆栈中之一个执行的工具,可以抢先捕获尽可能多的错误。只有那些无法从静态分析中推断出来的错误(例如那些有缺陷的逻辑)必须通过单元测试进行验证。
PHPStan通过扫描整个代码库并寻找不匹配来工作。例如,返回浮点数的函数的响应值不能分配给整数类型的函数参数。每当代码包含这样的事件时,这就是一个潜在的错误,PHPStan会在开发阶段提醒您,就在您编写应用程序代码时。
PHPStan的主要功能是:

DevKinsta中本地WordPress站点的详细信息
是WordPress网站的本地开发套件。只需提供一些基本详细信息,即可立即安装WordPress站点的本地实例,并且它捆绑了几个有用的开发工具,如电子邮件收件箱、数据库管理器和日志记录,以便于排除故障。
DevKinsta通常由开发人员和设计人员在创建他们的 WordPress 主题和插件时使用。但它也可以用作执行集成和功能测试的本地Web服务器。这是与HTTP工具一起完成的,该工具可帮助您验证响应内容和标头是否正确。
DevKinsta的主要功能是:
在生产环境中让错误潜入您的应用程序的成本可能会损害您的声誉和收入,因此您必须在它们影响您的用户之前尝试将其根除。
在复杂的应用程序中,几乎不可能100%确信它不会包含错误。因此,您必须设置一个流程,以便在初始开发周期中找到并删除尽可能多的错误。
使用精心设计的测试工具包,您可以极大地减少应用程序出现意外行为的可能性。开源社区已经创建并提供了大量工具来测试应用程序的不同方面,您可以而且应该这样做!— 利用来产生一个全面的测试堆栈。在本文中,我们回顾了10个工具来帮助您实现在WordPress插件中测试PHP代码的目标。
扫描二维码推送至手机访问。
版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。
Linux面板环境安装,主要支持LNMP和LAMP、Tomcat、node.js。不过对于大部分站长来说,主要是LNMP和LAMP两个环境的安装。 LNMP和LAMP两个环境的最大区别是,前者采用Nginx作为Web服务器,后者则采用Apache作为Web服务器。(选择哪个作为您的Web服务器,可...
本章节主要是对宝塔面板的主界面的各个版本进行一个简单的说明。 宝塔面板主界面主要包括:服务器操作系统、服务器状态、站点信息、软件管理及网络流量几个部分。 Windows面板有部分功能未实现,其余部分与Linux面板同步。 系统操作...
宝塔面板其中一个最为便捷的功能之一,无需SFTP或者FTP即可对服务器的文件内容进行上传、下载、编辑及删除等管理操作。 文件管理,用于管理该服务器上的文件内容。 文件的基础操作 文件的基础操作有哪些了,主要有这些方面:复制、粘贴、剪切、删除、重命名、压缩、刷新、新建文件、新建目录。...
宝塔面板设置主要涉及的是宝塔控制后台自身的参数,包括诸如面板的开关、自动更新及SSL、面板端口设置等。虽然这部分不涉及服务器自身的管理,但对宝塔面板的设置也有其重要。 特别是面板端口、安全入口及面板密码等涉及安全的参数设置。 启动和关闭面板 如果你长时间无需使用到宝塔面板,可以考虑...
经过几个小时的努力工作后,您是否感到眼睛疲劳或难以阅读代码?许多程序员在开始头疼之前从没想过要切换字体。 如果您经常发现在尝试扫描一千行代码时眼睛模糊不清,或者在停止编码数小时后头疼,那么可能是时候尝试一种新字体了。即使您没有遇到这些症状,设计良好的字体通常也比默认系统字体具有更好的可读性。...
PHP开发:有些人认为它是,另一些人认为它是一种过时的技术,不值得花时间学习。但是这些数字说明了什么,尤其是当您查看PHP开发人员的薪水时? 虽然肯定有许多更新、更炫、更令人兴奋的语言,但PHP仍然是后端Web开发的可靠主食,也是许多雇主仍在寻找的技能。 有兴趣自己成为PHP开发人员吗?我们...