You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用PHPUnit同时测试WordPress网站的所有插件、主题及数据库配置?

基于现有WordPress完整环境搭建多插件测试环境的方案

我折腾了好几个小时,搜了一堆指南,发现它们全是教怎么给单个插件搭测试环境——都是新建一个WordPress实例+空数据库。但我需要同时测试所有插件,因为很多插件之间有集成,而且它们的配置已经在现有数据库里了,没必要重新导到新测试库。

于是我对bin/install-wp-tests.sh做了以下修改:

  • 在install_wp()函数末尾添加一行:
    cp -a /$USER/wordpress/wp-content/. $WP_CORE_DIR/wp-content/
    
  • 把create_db()函数的内容替换成:
    mysqldump $USER_wordpress > dump.sql --user="$DB_USER" --password="$DB_PASS"$EXTRA
    mysqladmin create $DB_NAME --user="$DB_USER" --password="$DB_PASS"$EXTRA
    mysql $DB_NAME < dump.sql --user="$DB_USER" --password="$DB_PASS"$EXTRA
    
    注:我的场景里,$USER_wordpress是现有WordPress数据库名称,/$USER/wordpress/wp-content/是wp-content目录的绝对路径

这样修改后,测试环境就会基于当前完整的WordPress安装环境,包含所有已安装/自定义的插件和现有数据库数据。

如果需要加载指定插件,要在tests/bootstrap.php文件的_manually_load_plugin()函数里设置,示例代码:

require rtrim( sys_get_temp_dir(), '/\\' ) . '/wordpress/wp-content/plugins/' . 'exampleplugin/exampleplugin.php';

之前参考的几个指南都没解决核心问题:怎么在测试里包含所有插件和数据库配置,从而在同一个测试里验证多插件集成并使用已有配置。

内容的提问来源于stack exchange,提问作者John

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 04:00:46