aklump/drupal-test

使用 PhpUnit 测试 Drupal 7 的解决方案。

0.8.3 2019-11-02 19:39 UTC

README

drupal-test

摘要

这是一个使用 PhpUnit 在 Drupal 网站上进行测试的完整解决方案。它提供单元测试、内核测试、客户端测试和端到端抽象测试类,用于编写测试,一个单独的测试运行器,测试模块和主题,支持 JsonSchema 验证,以及一套用于更好地测试 Drupal 模块和网站的指南和流程。所有这些都可以通过一个可以按测试套件或通过正常 PhpUnit 选项过滤测试类的单个测试运行器来完成。

最后,还支持手动功能测试

访问 https://aklump.github.io/drupal-test 以获取完整文档。

快速开始

安装完成后(见下文),请按照文档(docs/index.html)中的说明编写和运行测试。

运行所有测试

$ cd tests
$ export SIMPLETEST_BASE_URL=http://mysite.com; phpunit -c phpunit.xml

运行所有单元测试

$ cd tests
$ phpunit -c phpunit.xml --testsuite Unit

运行所有内核测试

$ cd tests
$ phpunit -c phpunit.xml --testsuite Kernel

运行所有客户端测试

$ cd tests
$ export SIMPLETEST_BASE_URL=http://mysite.com; phpunit -c phpunit.xml --testsuite Client

运行所有端到端测试

$ cd tests
$ export SIMPLETEST_BASE_URL=http://mysite.com; phpunit -c phpunit.xml --testsuite EndToEnd

请参阅文档以获取更多信息。

配置

请参阅文档获取有关配置的更多信息。

  1. 打开 tests/drupal_test_config.yml 并设置 自动加载
  2. tests 目录中运行 composer update --lock
  3. 打开 tests/phpunit.xml 并添加任何 JSON 模式目录。

要求

  • Composer
  • PHPUnit

贡献

如果你觉得这个项目很有用...请考虑捐款

安装

在网站根目录以上的目录内部运行以下单行命令

[ ! -d tests ] && git clone https://github.com/aklump/drupal-test.git tests && (cd tests && ./bin/install.sh) || echo "Installation error, nothing installed."

关于本项目中文件的内容

以下文件被认为是核心的,不应修改。

drupal_test.yml
drupal_test_bootstrap.php
composer.json
LICENSE
README.md

此外,不要向以下文件夹添加文件,这些文件夹在每次更新时都会被替换。只要您避免添加到 src/DrupalTest,您就可以安全地向 src 添加类。

docs
src/DrupalTest

不要修改 bin 中的任何文件,这些文件由该模块提供。如果您愿意,可以添加自己的文件到 bin

更新到最新版本

tests 目录内部运行

./bin/update.sh

这将复制最新存储库中的核心文件,但不会留下非核心文件,即 phpunit.xml,您很可能已经修改了它。