CakeFixture - CakePHP's Fixture loader for Codeception
, (*1)
This Codeception module can be able load CakePHP Fixutre in your test case., (*2)
Installation
You can install this plugin into your CakePHP application using composer., (*3)
The recommended way to install composer packages is:, (*4)
composer require --dev elstc/codeception-cakefixture
Then enable this module in your test suite configration file (eg: acceptance.suite.yml, functional.suite.yml, and etc...):, (*5)
modules:
enabled:
- CakeFixture
See: 06-ModulesAndHelpers - Codeception - Documentation, (*6)
If you have not yet read the CakePHP bootstrap file with in the Codeception bootstrap, then load it:, (*7)
<?php
// your tests/_bootstrap.php
require_once '__YOUR_CAKEPHP_CONFIG_PATH__/bootstrap.php';
Usage
Cest
In your Cest test case, write $fixutures property:, (*8)
class AwesomeCest
{
public $fixtures = [
'app.users',
'app.posts',
];
// ...
}
You can use $autoFixtures, $dropTables property, and loadFixtures() method:, (*9)
class AwesomeCest
{
public $autoFixtures = false;
public $dropTables = false;
public $fixtures = [
'app.users',
'app.posts',
];
public function tryYourSenario($I)
{
// load fixtures manually
$I->loadFixtures('Users', 'Posts');
// or load all fixtures
$I->loadFixtures();
// ...
}
}
Cept
In your Cept test case, use $I->useFixtures() and $I->loadFixtures():, (*10)
$I = new FunctionalTester($scenario);
// You should call `useFixtures` before `loadFixtures`
$I->useFixtures('app.users', 'app.posts');
// Then load fixtures manually
$I->loadFixtures('Users', 'Posts');
// or load all fixtures
$I->loadFixtures();
Configuration options
debug
Pass to FixtureManager's debug option., (*11)
default: false, (*12)
autoFixures
Default $autoFixtures property., (*13)
default: true, (*14)
dropTables
Default $dropTables property., (*15)
default: true, (*16)