问题描述

我正在对我创建的 Wordpress 插件进行一些修改,以使其可测试。问题是我不知道我想做哪些方法来编写测试。我有一些使用这些函数和全局变量的方法:

is_singular()
$_GET
$_POST
$_SESSION

is_singularis_pageis_home 等功能取决于上下文。我不知道如何在测试中假冒这些上下文。

我尝试将这些作为参数传递给方法,但是有一些钩子不接受其他参数,所以我无法真正地传递它们。

只要提供来自测试课的人可以吗?我真的很难修改插件,这样我不会使用这些插件。

有任何想法吗?

更新

我正在使用 wordpress-tests 和 PHP 单元进行单元测试。在开始之前,我已经对单元测试进行了一些研究,并且有一种做法是当单元测试全局变量应该被避免时。

最佳解决方案

WordPress 远不是单元测试扩展的标准约定。或用于延伸结构。

目前你应该:

  • 研究您选择的单元测试框架如何建议与全局变量一起使用,如 PHP 代码

  • 查看开始出现的单元测试的 WordPress-specific 工具,如 WP_Mock

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。