diff --git a/extensions/yii/codeception/README.md b/extensions/yii/codeception/README.md index 6df55e3..62af9f0 100644 --- a/extensions/yii/codeception/README.md +++ b/extensions/yii/codeception/README.md @@ -5,9 +5,8 @@ This extension provides [Codeception](http://codeception.com/) integration for t It provides classes that help with testing with codeception: -- a base class for unit-tests: `yii\codeception\TestCase +- a base class for unit-tests: `yii\codeception\TestCase`; - a base class for codeception page-objects: `yii\codeception\BasePage`. -- a solution for testing emails Installation @@ -39,7 +38,55 @@ class to reduce code duplication. Simply extend your page object from this class 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 a mock application using this class. -`TestCase` is extended from `PHPUnit_Framework_TestCase` so all methods and assertions are available. +`TestCase` is extended from `Codeception\TestCase\Case` so all methods and assertions are available. +You may use codeception modules and fire events in your test, just use methods: + +```php +getModule('CodeHelper'); #or some other module +``` + +You also can use all guy methods by accessing guy instance like: + +```php +codeGuy->someMethodFromModule(); +``` + +to fire event do this: + +```php +fire('myevent', new TestEvent($this)); +} +``` +this event can be catched in modules and helpers. If your test is in the group, then event name will be followed by the groupname, +for example ```myevent.somegroup```. + +Execution of special tests methods is (for example on ```UserTest``` class): + +``` +tests\unit\models\UserTest::setUpBeforeClass(); + + tests\unit\models\UserTest::_before(); + + tests\unit\models\UserTest::setUp(); + + tests\unit\models\UserTest::testSomething(); + + tests\unit\models\UserTest::tearDown(); + + tests\unit\models\UserTest::_after(); + +tests\unit\models\UserTest::tearDownAfterClass(); +``` + +If you use special methods dont forget to call its parent. ```php * @since 2.0 */ -class TestCase extends \PHPUnit_Framework_TestCase +class TestCase extends Test { /** * @var array|string the application configuration that will be used for creating an application instance for each test.