Mark
11 years ago
4 changed files with 198 additions and 0 deletions
@ -0,0 +1,12 @@
|
||||
Yii Framework 2 Codeception extension Change Log |
||||
================================================ |
||||
|
||||
2.0.0 beta under development |
||||
---------------------------- |
||||
|
||||
- no changes in this release. |
||||
|
||||
2.0.0 alpha, December 1, 2013 |
||||
----------------------------- |
||||
|
||||
- Initial release. |
@ -0,0 +1,32 @@
|
||||
The Yii framework is free software. It is released under the terms of |
||||
the following BSD License. |
||||
|
||||
Copyright © 2008-2013 by Yii Software LLC (http://www.yiisoft.com) |
||||
All rights reserved. |
||||
|
||||
Redistribution and use in source and binary forms, with or without |
||||
modification, are permitted provided that the following conditions |
||||
are met: |
||||
|
||||
* Redistributions of source code must retain the above copyright |
||||
notice, this list of conditions and the following disclaimer. |
||||
* Redistributions in binary form must reproduce the above copyright |
||||
notice, this list of conditions and the following disclaimer in |
||||
the documentation and/or other materials provided with the |
||||
distribution. |
||||
* Neither the name of Yii Software LLC nor the names of its |
||||
contributors may be used to endorse or promote products derived |
||||
from this software without specific prior written permission. |
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS |
||||
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE |
||||
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, |
||||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, |
||||
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER |
||||
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN |
||||
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
||||
POSSIBILITY OF SUCH DAMAGE. |
@ -0,0 +1,128 @@
|
||||
Codeception Extension for Yii 2 |
||||
=============================== |
||||
|
||||
This extension provides a `Codeception` mail solution for Yii 2. It includes some classes that are useful |
||||
for unit-testing (```TestCase```) or for codeception page-objects (```BasePage```). |
||||
|
||||
When using codeception page-objects they have some similar code, this code was extracted and put into the ```BasePage``` |
||||
class to reduce code duplication. Simply extend your page object from this class, like it is done in ```yii2-basic``` and |
||||
```yii2-advanced``` boilerplates. |
||||
|
||||
For unit testing there is a ```TestCase``` class which holds some common features like application creation before each test |
||||
and application destroy after each test. You can configure your application by this class. ```TestCase``` is extended from ```PHPUnit_Framework_TestCase``` so all |
||||
methods and assertions are available. |
||||
|
||||
```php |
||||
SomeConsoleTestTest extends yii\codeception\TestCase |
||||
{ |
||||
# by default it is @tests/unit/_bootstrap.php which holds some basic things like: |
||||
# including composer autoload, include BaseYii class. |
||||
public $baseConfig = '@app/config/console.php'; |
||||
|
||||
public $applicationClass = 'yii\console\Application'; |
||||
} |
||||
``` |
||||
Dont forget that you still need to include autoload and BaseYii class, like in the _bootstrap.php file (comments above). |
||||
|
||||
You also can reconfigure some components for tests, for this purpose there is a ```$config``` property in the testcase. |
||||
|
||||
```php |
||||
SomeOtherTest extends yii\codeception\TestCase |
||||
{ |
||||
public $config = [ |
||||
'components' => [ |
||||
'mail' => [ |
||||
'useFileTransport' => true, |
||||
], |
||||
] |
||||
]; |
||||
} |
||||
``` |
||||
|
||||
Because of Codeception buffers all output you cant make simple ```var_dump()``` in the TestCase, instead you need to use |
||||
```Codeception\Util\Debug::debug()``` function and then run test with ```--debug``` key, for example: |
||||
|
||||
```php |
||||
|
||||
use \Codeception\Util\Debug; |
||||
|
||||
SomeDebugTest extends yii\codeception\TestCase |
||||
{ |
||||
|
||||
public function testSmth() |
||||
{ |
||||
Debug::debug('some my string); |
||||
Debug::debug($someArray); |
||||
Debug::debug($someObject); |
||||
} |
||||
|
||||
} |
||||
``` |
||||
|
||||
Then run command ```php codecept.phar run --debug unit/SomeDebugTest``` (Codeception also available through composer) and you will see in output: |
||||
|
||||
```html |
||||
some string |
||||
|
||||
Array |
||||
( |
||||
[0] => 1 |
||||
[1] => 2 |
||||
[2] => 3 |
||||
[3] => 4 |
||||
[4] => 5 |
||||
) |
||||
|
||||
yii\web\User Object |
||||
( |
||||
[identityClass] => app\models\User |
||||
[enableAutoLogin] => |
||||
[loginUrl] => Array |
||||
( |
||||
[0] => site/login |
||||
) |
||||
|
||||
[identityCookie] => Array |
||||
( |
||||
[name] => _identity |
||||
[httpOnly] => 1 |
||||
) |
||||
|
||||
[authTimeout] => |
||||
[autoRenewCookie] => 1 |
||||
[idVar] => __id |
||||
[authTimeoutVar] => __expire |
||||
[returnUrlVar] => __returnUrl |
||||
[_access:yii\web\User:private] => Array |
||||
( |
||||
) |
||||
|
||||
[_identity:yii\web\User:private] => |
||||
[_events:yii\base\Component:private] => |
||||
[_behaviors:yii\base\Component:private] => |
||||
) |
||||
|
||||
``` |
||||
|
||||
|
||||
For further instructions refer to the related section in the Yii Definitive Guide (https://github.com/yiisoft/yii2/blob/master/docs/guide/testing.md). |
||||
|
||||
|
||||
Installation |
||||
------------ |
||||
|
||||
The preferred way to install this extension is through [composer](http://getcomposer.org/download/). |
||||
|
||||
Either run |
||||
|
||||
``` |
||||
php composer.phar require yiisoft/yii2-codeception "*" |
||||
``` |
||||
|
||||
or add |
||||
|
||||
```json |
||||
"yiisoft/yii2-codeception": "*" |
||||
``` |
||||
|
||||
to the require section of your composer.json. |
@ -0,0 +1,26 @@
|
||||
{ |
||||
"name": "yiisoft/yii2-codeception", |
||||
"description": "The Codeception integration for the Yii framework", |
||||
"keywords": ["yii", "codeception"], |
||||
"type": "yii2-extension", |
||||
"license": "BSD-3-Clause", |
||||
"support": { |
||||
"forum": "http://www.yiiframework.com/forum/", |
||||
"wiki": "http://www.yiiframework.com/wiki/", |
||||
"irc": "irc://irc.freenode.net/yii", |
||||
"source": "https://github.com/yiisoft/yii2" |
||||
}, |
||||
"authors": [ |
||||
{ |
||||
"name": "Mark Jebri", |
||||
"email": "mark.github@yandex.ru" |
||||
} |
||||
], |
||||
"require": { |
||||
"yiisoft/yii2": "*" |
||||
}, |
||||
"autoload": { |
||||
"psr-0": { "yii\\codeception\\": "" } |
||||
}, |
||||
"target-dir": "yii/codeception" |
||||
} |
Loading…
Reference in new issue