korstiaan / drunit
Drupal 引导程序,简化您 Drupal 模块的集成/功能测试
dev-master
2014-03-27 13:14 UTC
Requires
- drupal/core: *
- drush/drush: 6.0.*
- symfony/process: *
Requires (Dev)
- phpunit/phpunit: 3.7.*
This package is not auto-updated.
Last update: 2024-09-14 13:40:29 UTC
README
Drupal 引导程序,简化您 Drupal 模块的集成/功能测试。
要求
- PHP 5.3.3+(遗憾的是,Drupal 中 SQLite 的实现与 PHP 5.4 不兼容)
- PDO SQLite 驱动程序
- Drupal 7.* 所需的任何其他扩展
安装
推荐使用 composer 安装 Drunit
。只需将以下内容添加到您的 composer.json
{ "repositories": [ ... { "type": "package", "package": { "version": "7.23", "name": "drupal/core", "dist": { "url": "http://ftp.drupal.org/files/projects/drupal-7.23.zip", "type": "zip" } } } ], "require-dev": { ... "korstiaan/drunit": "*" }, "scripts": { "post-install-cmd": [ ... "Drunit\\Composer\\ScriptHandler::installDrupal" ], "post-update-cmd": [ ... "Drunit\\Composer\\ScriptHandler::installDrupal" ] } }
并将 drupal/core
定义中的版本更改为您要测试的 Drupal 版本。
现在更新 composer 并安装新添加的要求及其依赖项
$ php composer.phar update korstiaan/drunit --dev
使用方法
引导 Drupal
首先通过将其包含在测试引导文件中初始化 composer 的自动加载
// tests/bootstrap.php use Drunit\Drunit; require __DIR__ . '/../vendor/autoload.php';
在每个测试中引导 Drupal
Drunit
提供了一个 TestCase 类,该类引导 Drupal 到其最终阶段 DRUPAL_BOOTSTRAP_FULL
,并确保每个测试都在其自己的独立进程中运行。只需扩展它以使用它
use Drunit\TestCase; class FooTest extends TestCase { ... }
启用您的模块
要在测试中启用您的模块,只需将以下内容添加到您的测试中
use Drunit\TestCase; class FooTest extends TestCase { public function setUp() { parent::setUp(); Drunit::enableModule(__DIR__.'/../module', array('my_module')); } ... }
这将启用位于 __ROOT__.'/module'
的模块 my_module
(Drupal 会递归查找文件 my_module.module
)。
如果您有多个位于单个目录中的模块(例如 __ROOT__.'/modules/my_module1'
和 __ROOT__.'/modules/my_module2
),您可以如下启用所有模块
Drunit::enableModule(__DIR__.'/../modules', array('my_module1', 'my_module2'));
如果您的模块名称与目录的基本名称相同,则可以省略第二个参数
Drunit::enableModule(__DIR__.'/../modules/my_module1');
许可证
Drunit 在 MIT 许可证下发布。