pastuhov / yii2-logstock
The testing extension for the Yii framework
Installs: 1 033
Dependents: 1
Suggesters: 0
Security: 0
Stars: 4
Watchers: 4
Forks: 5
Open Issues: 2
Type:yii2-extension
Requires
- yiisoft/yii2: ~2.0.15
Requires (Dev)
- codeception/codeception: 2.1.8
- codeception/specify: 0.4.*
- codeception/verify: 0.2.*
- yiisoft/yii2-codeception: 2.0.*
- yiisoft/yii2-debug: ~2.0.6
README
This extension provides recording and asserting application trace (snapshot). Based on yii\debug module.
Support
- Unit
- Functional (without web server) - does not support
- Acceptance (throughout web server)
Installation
The preferred way to install this extension is through composer.
Either run
php composer.phar require --prefer-dist pastuhov/yii2-logstock
or add
"require-dev": {
"pastuhov/yii2-logstock": "~1.0.0"
...
to the require section of your composer.json
file.
Usage
Once the extension is installed, simply modify your application configuration as follows:
... if (YII_ENV_TEST) { // configuration adjustments for 'test' environment $config['bootstrap'][] = 'logstock'; $config['modules']['logstock'] = [ 'class' => \pastuhov\logstock\Module::class, ]; } ...
Add pastuhov\logstock\UnitHelper
to suit config
modules: enabled: - pastuhov\logstock\UnitHelper
Use assertLog() method in tests
... public function testExampleUnitUsage() { $this->tester->assertLog(function (){ Yii::info('Test info message'); Yii::$app->getDb()->createCommand('SELECT * FROM page')->execute(); }, Yii::$app); } ...
First time snapshot artifact will be recorded
1) Test example unit usage (unit\ExampleUnitTest::testExampleUnitUsage)
Fixture has aggregated. Please restart test!
Recorded snapshot:
Entry: console
Test info message
SELECT * FROM page
On subsequent test runs Logstock will simply compare the rendered output with the previous snapshot. If they match, the test will pass. If they don't match, either the test runner found a bug in your code that should be fixed, or the implementation has changed and the snapshot needs to be updated.
For more info see tests.
Testing
./vendor/bin/codecept run unit,acceptance
If web server needed:
./tests/bin/yii serve&
Security
If you discover any security related issues, please email pastukhov_k@sima-land.ru instead of using the issue tracker.