aivec / codecept-docker
使用Docker进行Codeception WordPress测试。
Requires
- codeception/codeception: ^4.0
- lucatume/wp-browser: ^3.0
- vanilla/garden-cli: ^2.2
- vlucas/valitron: ^1.4
Requires (Dev)
- aivec/phpcs-wp: ^2.0
- phpunit/phpunit: ^9.5
- dev-master
- v0.8.4
- v0.8.3
- v0.8.2
- v0.8.1
- v0.8.0
- v0.7.0
- v0.6.9
- v0.6.8
- v0.6.7
- v0.6.6
- v0.6.5
- v0.6.4
- v0.6.3
- v0.6.2
- v0.6.1
- v0.6.0
- v0.5.5
- v0.5.4
- v0.5.3
- v0.5.2
- v0.5.1
- v0.5.0
- v0.4.4
- v0.4.3
- v0.4.2
- v0.4.1
- v0.4.0
- v0.3.2
- v0.3.1
- v0.3.0
- v0.2.1
- v0.2.0
- v0.1.4
- v0.1.3
- v0.1.2
- v0.1.1
- v0.1.0
- v0.0.1
- dev-dependabot/composer/guzzlehttp/psr7-2.5.0
- dev-production
This package is auto-updated.
Last update: 2024-09-25 14:58:00 UTC
README
A CLI包装器,用于Codeception和wp-browser,将WordPress集成测试的环境容器化和自动化创建。跳转到快速入门指南
背景(为什么?)
直到最近,WordPress的集成测试基本上还是一个梦想。对于大多数人来说,设置一个仅用于集成测试的完整功能环境的门槛实在是太高了。
然后出现了Codeception和wp-browser。Codeception是一个PHP测试框架,允许开发者轻松编写端到端的集成测试,而wp-browser是Codeception的一个模块,允许你在WordPress环境中编写测试(类似于WordPress核心测试)。这两个工具结合使用非常强大,但原始问题仍然存在...
设置环境...
Docker拯救了这一切
这个库自动化了环境创建,并将所有内容放入Docker容器中。没有任何交互提示。集成测试的整个目的就是自动化。集成环境创建应该没有不同。
唯一需要的是在你的项目根目录中有一个codecept-docker.json
配置文件,至少必须指定根文件夹是插件还是主题。CLI随后将根文件夹挂载到WordPress容器中作为插件/主题。此配置还可以用于指定要安装的WordPress和PHP版本,要安装的插件/主题等。
默认情况下,创建的容器将使用安装此包的根文件夹名称作为前缀。这允许每个项目拥有多个不冲突的环境。
环境创建后,WordPress容器就像一个代理,将codecept
命令转发出去。然后所有测试都在WordPress容器内部执行。
最终结果是开发者不需要了解测试运行环境的任何细节。只需启动它,然后开始!
主要功能
- 自动设置和配置
WordPress
、MySQL
和phpMyAdmin
容器 - 自动设置和配置Selenoid,Docker解决方案,用于
WPWebDriver
测试 - 自动为
WPWebDriver
测试执行per-test
视频录制。(例如:myFirstTest.success.mp4
) - 快照功能,可极大加速
WordPress
容器的重启 - WP-CLI,易于自定义
WordPress
安装
要求
- PHP 7.2^
- composer
- docker
安装
composer require --dev aivec/codecept-docker
快速入门指南
创建脚手架
以下命令只需在安装此包的第一次运行时运行。有两个步骤
首先,创建一个codecept-docker.json
配置文件
# --type may be 'plugin', 'theme', or 'other'
./vendor/bin/aivec-codecept create-config --type=plugin
其次,生成Codeception文件夹/文件
./vendor/bin/aivec-codecept bootstrap --with-sample-tests
启动容器
最后,启动容器。如果是第一次,可能需要一段时间
./vendor/bin/aivec-codecept up
运行测试
所有测试套件,除了 unit
测试,都必须在容器中通过 aivec-codecept codecept
命令运行。让我们用以下命令运行为 wpunit
套件创建的示例测试:
./vendor/bin/aivec-codecept codecept run wpunit
就这样了!
aivec-codecept codecept
命令的行为与正常的 codecept
命令完全相同,只是它是在 WordPress 容器内调用的。使用此命令替代正常的 codecept
命令来运行测试。