Я подозреваю, что это будет дублированный вопрос или что-то с очень простым ответом, но я искал каждый термин, который я могу придумать без каких-либо результатов.WordPress плагин phpunit тесты с зависимостями
Это действительно просто; Как я могу модулировать плагины WordPress, которые зависят от других плагинов?
В настоящее время я работаю над плагином WooCommerce, который будет содержать платежный шлюз, который должен расширить , включенный в плагин WooCommerce. Поэтому мне нужен WordPress для загрузки и активации WooCommerce. Я пытался;
- с использованием только
/plugins/woocommerce/woocommerce.php
. Дает мне db-ошибки, поскольку таблицы WooCommerce не были созданы. 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 некоторыми классами в моем плагине. Тип вводит подсказку о платежном шлюзе, который явно заставляет автозагрузчик его получить.
Спасибо заранее :)
Быстро и грязно, вы можете включить wp-load.php и с правильными конфигурационными vars, которые вы золотые. Для простого тестирования я бы посмотрел на wp-cli, чтобы загрузить активирующие плагины для тестового сценария. – buley