Самый простой способ:
Просто include_once
файл с определением для WP_Error
( wp-includes / class-wp-error.php ) при загрузке ваших тестов. Таким образом, класс будет определен, когда вам нужно создать экземпляр класса.
WP_Error
не имеет никаких других зависимостей, поэтому включение должно быть серьезным.
Вы не проверяете фактическое поведение класса, а возвращается только объект этого класса. Так что нет нужды издеваться, если существует правильное определение.
Лучше:
Используйте WP-CLI для строительных лесов. При этом у вас будет доступ к функциям и классам WordPress.
Вам нужно будет установить WP-CLI и иметь работающую установку WP с вашими файлами плагинов.
Сначала вам нужно создать леса плагинов. В вашей директории WP запустите
wp scaffold plugin-tests your-plugin
Это создаст набор файлов в каталоге плагинов, подобный следующему:
|-bin/
|----install-wp-tests.sh
|-tests/
|----bootstrap.php
|----test-sample.php
|-.travis.yml
|-phpcs.xml.dist
|-phpunit.xml.dist
|-your-plugin.php
Вам потребуется cd
в каталог вашего плагина и оттуда запустить инициализацию тестовой среды:
bin/install-wp-tests.sh db_name db_user 'db_password' db_host wp_version
Параметры говорят сами за себя. wp_version может быть latest
. На этой базе данных wp-cli создаст набор таблиц для тестирования и создаст установку WP в вашем каталоге / tmp, настроенную с указанными выше значениями, которые будут использоваться при каждом запуске phpunit.
После этого достаточно просто позвонить phpunit
и запустить свои тесты. Вы можете использовать test-sample.php
в качестве отправной точки или скопировать туда свою.
При выполнении ваших тестов таким образом, будет определено WP_Error
, и вы можете легко проверить, что ваши методы возвращают его правильно.
Счастливого тестирования!