codeception / yii-bridge
YiiBridge 扩展
dev-master
2014-11-17 18:04 UTC
This package is auto-updated.
Last update: 2024-08-29 03:20:59 UTC
README
用于在 Codeception 中运行 Yii 功能测试的包装类。目前尚不支持平滑集成。目前仅供个人使用和承担风险。
概念
Yii1 框架并非为功能测试而设计。此桥接类包含覆盖标准 Yii 组件以进行测试的组件。Yii 功能测试中最常见的问题是 PHP 代码中使用 headers
、cookies
函数,这可能导致测试时出错。另外,使用 exit
指令甚至可能完全停止测试执行。
安装
- 通过 composer 安装 Codeception
php composer.phar require "codeception/codeception:*"
php composer.phar update
- 将 Codeception 启动到
protected/tests
./vendor/bin/codecept bootstrap protected/tests
- 并设置 Yii1 模块。
test.php:
<?php // Definitions defined('DS') or define('DS', DIRECTORY_SEPARATOR); defined('YII_DEBUG') or define('YII_DEBUG',true); defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL',3); // Load the config files $config = require __DIR__.DS.'protected'.DS.'config'.DS.'test.php'; // Load Yii and Composer extensions require_once __DIR__.DS.'vendor'.DS.'yiisoft'.DS.'yii'.DS.'framework'.DS.'yii.php'; require_once __DIR__.DS.'vendor'.DS.'autoload.php'; // Return for Codeception return array( 'class' => 'CWebApplication', 'config' => $config, );
codeception.yml:
actor: Dev
paths:
tests: protected/tests
log: protected/tests/_log
data: protected/tests/_data
helpers: protected/tests/_helpers
settings:
bootstrap: _bootstrap.php
colors: true
memory_limit: 1024M
log: true
debug: true
modules:
enabled: [PhpBrowser, WebHelper, TestHelper, Yii1]
config:
PhpBrowser:
url: http://localhost:8234
Yii1:
appPath: test.php
url: http://localhost:8234/test.php
- 通过 Composer 安装 YiiBridge
php composer.phar require " "codeception/yii-bridge:dev-master""
php composer.phar update
- 修改您的
protected/config/test.php
配置文件,使用CodeceptionHttpRequest
类代替CHttpRequest
<?php return array( [...] 'components' => array( [...] 'request' => array( 'class' => 'CodeceptionHttpRequest' ), [...] ), );
- 完成!使用 Codeception 正常生成运行时测试
重要提示
此桥接功能尚不完整。它可能不适合您的项目。因此,欢迎任何贡献。如果您需要自定义提供的任何类,请这样做。
已知问题和路线图
- 会话 -> 触发 PHP 错误
- 转发 -> 触发 PHP 错误
- CLocale -> 触发错误
- HTTP 状态码
- WebApplication->end -> 触发
exit
指令
致谢
初始版本由 Ragazzo 创建。