pantheon-systems / pantheon-wordpress-upstream-tests
该软件包的最新版本(dev-master)没有可用的许可信息。
dev-master
2024-09-23 20:47 UTC
Requires
- behat/behat: ^3.1
- behat/mink-extension: ^2.2
- behat/mink-goutte-driver: ^1.2
- dev-master
- dev-rename-catalog-info-20240923
- dev-add-catalog-info-20240910
- dev-add-wait-context
- dev-composer-lock
- dev-rm-bad-tests
- dev-fix-behat-upstream-tests
- dev-relocated-wp-admin-support
- dev-handle-wp-subdir--rebase--with-mink--rebase
- dev-handle-wp-subdir--rebase--with-mink
- dev-handle-wp-subdir--rebase
- dev-handle-wp-subdir
- dev-behat-strict
- dev-failing-test
- dev-behat-global
This package is auto-updated.
Last update: 2024-09-23 20:47:29 UTC
README
在 Pantheon 基础设施上,针对 Pantheon WordPress 上游的给定分支运行基于 Behat 的测试套件,以确保该分支在 Pantheon 上完全功能正常。
工作原理
该存储库的目的是确保 Pantheon WordPress 上游的某个分支在 Pantheon 基础设施上完全功能正常。这被用作 Pantheon 自动化 WordPress 更新过程的一部分。
从宏观角度来看,这是它的工作方式
- 通过 cron 作业或当对 WordPress 上游进行推送时,将启动一个新的 CircleCI 作业。
- 作业环境定义了三个重要的环境变量
TERMINUS_TOKEN
- 用于在 Pantheon 上创建和删除站点环境的 机器令牌。由于此令牌旨在保密,其值在 CircleCI 管理员中设置,而不是在circle.yml
中跟踪。TERMINUS_SITE
- 用于运行测试套件的现有 Pantheon 站点。此站点必须支持 multidev,并且TERMINUS_TOKEN
必须能够为此站点创建和删除环境。TERMINUS_ENV
- 要创建的多 dev 分支的唯一名称,以防止作业之间的冲突。
- CircleCI 安装了 Terminus,这是一个用于与 Pantheon 以编程方式交互的接口。
- 测试套件分三步运行
prepare.sh
- 准备 Pantheon 站点环境以运行测试套件。准备包括- 使用 Terminus 创建站点环境。
test.sh
- 在创建的环境上运行 Behat 测试套件。cleanup.sh
- 在测试套件完成后进行清理。清理包括- 使用 Terminus 删除站点环境。
就这样!
改进
需要以某种方式改进此测试运行器?您可以在本地克隆存储库并针对任何 Pantheon 站点运行它。
警告!警告!
请仔细阅读以下内容。
通过强制推送至 TERMINUS_ENV
并擦除数据库,此测试运行器会不可逆转地损坏您的 Pantheon 站点。仅使用一次性“丢弃”站点。不要用于任何无法删除的 Pantheon 站点。
警告发布完毕,以下是您可以在本地使用测试运行器的方法。
首先,确保已安装并验证 Terminus
composer global require pantheon-systems/terminus
terminus auth login --machine-token=<secret-token>
然后,您可以克隆并使用测试运行器
git clone git@github.com:pantheon-systems/pantheon-wordpress-upstream-tests.git
cd pantheon-wordpress-upstream-tests
export TERMINUS_SITE=wordpress-upstream
export TERMINUS_ENV=test-1
export WORDPRESS_ADMIN_USERNAME=pantheon
export WORDPRESS_ADMIN_PASSWORD="$(openssl rand -hex 8)"
./prepare.sh
./test.sh
./cleanup.sh
如有任何疑问,请随意提交一个工单。