(WP-CLI) файлы Wordpress-Tests_Lib не создаются

Я пытаюсь провести тестирование плагинов WordPress в Ubuntu 14.04 и настраиваю WP-CLI, но не могу загрузить необходимые файлы (includes/functions.php).

Это команда, которую я использую:

bash bin/install-wp-tests.sh wordpress_test root '' localhost latest

Это результат:

+ install_wp
+ '[' -d /tmp/wordpress/ ']'
+ return
+ install_test_suite
++ uname -s
+ [[ Linux == \D\a\r\w\i\n ]]
+ local ioption=-i
+ '[' '!' -d /tmp/wordpress-tests-lib ']'
+ cd /tmp/wordpress-tests-lib
+ '[' '!' -f wp-tests-config.php ']'
+ download https://develop.svn.wordpress.org/trunk/wp-tests-config-sample.php /tmp/wordpress-tests-lib/wp-tests-config.php
++ which curl
+ '[' /opt/lampp/bin/curl ']'
+ curl -s https://develop.svn.wordpress.org/trunk/wp-tests-config-sample.php
+ sed -i 's:dirname( __FILE__ ) . '\''/src/'\'':'\''/tmp/wordpress/'\'':' /tmp/wordpress-tests-lib/wp-tests-config.php
+ sed -i s/youremptytestdbnamehere/wordpress_test/ /tmp/wordpress-tests-lib/wp-tests-config.php
+ sed -i s/yourusernamehere/root/ /tmp/wordpress-tests-lib/wp-tests-config.php
+ sed -i s/yourpasswordhere// /tmp/wordpress-tests-lib/wp-tests-config.php
+ sed -i 's|localhost|localhost|' /tmp/wordpress-tests-lib/wp-tests-config.php
+ install_db
+ PARTS=(${DB_HOST//\:/ })
+ local PARTS
+ local DB_HOSTNAME=localhost
+ local DB_SOCK_OR_PORT=
+ local EXTRA=
+ '[' -z localhost ']'
++ echo
++ grep -e '^[0-9]\{1,\}$'
+ '[' ']'
+ '[' -z ']'
+ '[' -z localhost ']'
+ EXTRA=' --host=localhost --protocol=tcp'
+ mysqladmin create wordpress_test --user=root --password= --host=localhost --protocol=tcp
Warning: Using a password on the command line interface can be insecure.

При использовании команды phpunit выдает ошибку:

Fatal error: require_once(): Failed opening required '/tmp/wordpress-tests-lib/includes/functions.php' (include_path='.:/opt/lampp/lib/php')

Я нахожусь в офисе, поэтому думаю, что брандмауэр может блокировать эту команду, хотя я установил прокси в /etc/environment.

Помощь приветствуется.


person Andrew C.    schedule 06.10.2015    source источник
comment
Wordpress нельзя протестировать с помощью PHPUnit.   -  person Zdenek Machek    schedule 07.10.2015
comment
@zdenek-machek - Ваше утверждение неверно. PHPUnit используется для тестирования ядра и может использоваться вместе с WP-CLI.   -  person Pea    schedule 02.11.2015
comment
Вы в конечном итоге нашли решение для этого?   -  person Ethan C    schedule 03.02.2016


Ответы (2)


У меня была эта проблема, и вот что вы можете попробовать:

  1. Убедитесь, что /tmp/wordpress-tests-lib отсутствует каталог includes.

  2. Убедитесь, что на машине установлен svn. Если не запустить sudo apt-get install subversion

  3. Удалить папку /tmp/wordpress-tests-lib

  4. Внутри каталога вашего плагина откройте файл bin/install-wp-tests.sh и снимите флаг quiet в вызове Subversion. Измените эту строку:

    svn co --quiet https://develop.svn.wordpress.org/${WP_TESTS_TAG}/tests/phpunit/includes/ $WP_TESTS_DIR/includes
    
    to
    
    svn co https://develop.svn.wordpress.org/${WP_TESTS_TAG}/tests/phpunit/includes/ $WP_TESTS_DIR/includes
    
  5. Запустите команду сценария установки оболочки еще раз.

Теперь вы сможете запустить PHPUnit и увидеть, как проходит один тест по умолчанию.

person sprise    schedule 15.04.2016
comment
Спасибо, это не решило проблему. Я имею дело со сторонним репозиторием, но я уверен, что код, который я добавил, верен независимо от этой проблемы с набором тестов. - person MrMesees; 19.09.2016
comment
У меня была именно эта ошибка, и это решение (простое удаление --quiet из сценария установки) решило проблему для меня. - person Luke Carbis; 04.06.2019
comment
Вау, да, это сработало. Кто-нибудь знает, почему удаление --quiet имеет значение? - person Phil Birnie; 10.03.2021

У меня была такая же проблема; разрешил это, следуя инструкциям здесь: https://github.com/wp-cli/wp-cli/wiki/Plugin-Unit-Tests . В частности, мне нужно было инициализировать среду тестирования.

bash bin/install-wp-tests.sh wordpress_test root '' localhost latest

где wordpress_test — тестовая база данных, root — пользователь БД, а '' содержит пароль.

Дополнительные ресурсы:

person Pea    schedule 02.11.2015