gpt4 book ai didi

wordpress - 用于 docker 中 wordpress 的 phpunit(继承自最终类)

转载 作者:行者123 更新时间:2023-12-01 11:17:05 25 4
gpt4 key购买 nike

我正在写一个 wordpress 插件,想为它创建一个 phpunit 测试环境。为此,我使用 php:7.2-apache 基础容器创建了一个 docker 容器,并通过图像上的 phar 存档在其上安装了 phpunit。之后,我设置了一些环境变量并使用了以下 bashscript,它与“wp scaffold plugin-tests”创建的脚本类似,作为入口点。

# INSTALL WP-CORE
wp core download --path="${WPPATH}" --allow-root
waitforit -t 60 database:3306 -- wp config create --dbuser="${WPDBUSER}" --dbpass="${WPDBPASS}" --dbname="${WPDBNAME}" --dbhost="${WPDBHOST}" --path="${WPPATH}" --allow-root

wp db create --path="${WPPATH}" --allow-root
wp core install --url="${WPURL}" --title="SpitzeDev" --admin_user="${ADMINUSER}" --admin_password="${ADMINPASS}" --admin_email="${ADMINMAIL}" --path="${WPPATH}" --allow-root
chown www-data:www-data "/var/www/html" -R

# Install WP-Testsuite for PHPUnit
if [ ! -d $WP_TESTS_DIR ]; then
mkdir -p $WP_TESTS_DIR
svn co --quiet https://develop.svn.wordpress.org/tags/$(wp core version --allow-root --path=${WPPATH})/tests/phpunit/includes/ $WP_TESTS_DIR/includes
svn co --quiet https://develop.svn.wordpress.org/tags/$(wp core version --allow-root --path=${WPPATH})/tests/phpunit/data/ $WP_TESTS_DIR/data
fi

# Configure WP-Testuite for PHPUnit
if [ ! -f wp-tests-config.php ]; then
download https://develop.svn.wordpress.org/${WP_TESTS_TAG}/wp-tests-config-sample.php "$WP_TESTS_DIR"/wp-tests-config.php
# remove all forward slashes in the end
WP_CORE_DIR=$(echo ${WPPATH} | sed "s:/\+$::")
sed -i "s:dirname( __FILE__ ) . '/src/':'${WP_CORE_DIR}/':" "$WP_TESTS_DIR"/wp-tests-config.php
sed -i "s/youremptytestdbnamehere/$WPDBNAME/" "$WP_TESTS_DIR"/wp-tests-config.php
sed -i "s/yourusernamehere/$WPDBUSER/" "$WP_TESTS_DIR"/wp-tests-config.php
sed -i "s/yourpasswordhere/$WPDBPASS/" "$WP_TESTS_DIR"/wp-tests-config.php
sed -i "s|localhost|${WPDBHOST}|" "$WP_TESTS_DIR"/wp-tests-config.php
fi
phpunit

在调用 phpunit 之前,脚本工作正常。但是随后抛出以下异常:

“ fatal error :类 PHPUnit_Util_Test 不能从第 18 行的/tmp/wordpress-tests-lib/includes/phpunit6-compat.php 中的最终类 (PHPUnit\Util\Test) 继承”

我真的不明白这个错误是怎么发生的。如果我使用这个插件的 phpunit 测试,则不会抛出错误。如果在我的本地机器上使用这些测试,它们工作得很好。

最佳答案

我在尝试使用带有 phpunit 7.0.3 和 PHP 7.1.6 的 wordpress 核心测试框架进行测试时遇到了这个问题

通过切换到 phpunit 6.1.0 和 PHP 7.0.20 解决。

关于wordpress - 用于 docker 中 wordpress 的 phpunit(继承自最终类),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49308166/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com