我怀疑这将是一个重复的问题或一个非常简单的答案,但我已经搜索了我能想出的每个术语,但没有任何结果。
这真的很简单;如何对依赖于其他插件的 WordPress 插件进行单元测试?
我目前正在开发一个包含支付网关的 WooCommerce 插件,该插件必须扩展WC_Payment_Gateway
WooCommerce 插件中包含的内容。所以我需要 WordPress 来加载和激活WooCommerce。我试过了;
- 手动只包括
/plugins/woocommerce/woocommerce.php
. 由于尚未创建 WooCommerce 表,因此给我 db 错误。 - 运行
activate_plugin( '<woocommerce plugin path>' );
在"muplugins_loaded"
动作上。给出与上述相同的错误。 - 克隆 WooCommerce 开发者。回购并包括
test/bootstrap.php
在woocommerce中。给我一个 PHP 致命错误:wp-content/plugins/woocommerce/tmp/wordpress-tests-lib/includes/functions.php): failed to open stream: No such file or directory in /home/...
- 运行
/plugins/woocommerce/tests/bin/install.sh
。给我PHP Fatal error: Cannot redeclare tests_add_filter() (previously declared in ...
- 以上的组合
有人知道我在做什么错吗?我真的不想放弃单元测试,但目前似乎是唯一的选择,因为我在插件中遇到了致命的 b/c 某些类,即类型提示支付网关,这显然会强制自动加载器获取它。
提前致谢 :)