punktde / codeception-database
Provides a module and gherkin steps to use databases for codeception testing
Installs: 20 089
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Requires
- codeception/codeception: ^4.0 || ^5.0
- codeception/module-db: ^3.0
- neos/utility-arrays: *
- neos/utility-files: *
README
Gherkin Steps and additional module functions for the Codeception Database module
How to use
Extended module
Use the module PunktDe\Codeception\Database\Module\Database
instead of the default codeception module db
in your codeception.yaml
:
modules:
enabled:
- PunktDe\Codeception\Database\Module\Database:
dsn: 'mysql:host=localhost;dbname=testdb'
user: 'root'
password: ''
dump: 'tests/_data/dump.sql'
populate: true
cleanup: true
reconnect: true
waitlock: 10
ssl_key: '/path/to/client-key.pem'
ssl_cert: '/path/to/client-cert.pem'
ssl_ca: '/path/to/ca-cert.pem'
ssl_verify_server_cert: false
ssl_cipher: 'AES256-SHA'
initial_queries:
- 'CREATE DATABASE IF NOT EXISTS temp_db;'
- 'USE temp_db;'
- 'SET NAMES utf8;'
Gherkin steps
Just add the trait PunktDe\Codeception\Database\ActorTraits\Database
to your testing actor. Then you can use *.feature
files to write your gherkin tests with the new steps.
Example actor
<?php
/*
* (c) 2018 punkt.de GmbH - Karlsruhe, Germany - http://punkt.de
* All rights reserved.
*/
/**
* Inherited Methods
* @method void wantToTest($text)
* @method void wantTo($text)
* @method void execute($callable)
* @method void expectTo($prediction)
* @method void expect($prediction)
* @method void amGoingTo($argumentation)
* @method void am($role)
* @method void lookForwardTo($achieveValue)
* @method void comment($description)
* @method \Codeception\Lib\Friend haveFriend($name, $actorClass = NULL)
*
* @SuppressWarnings(PHPMD)
*/
class AcceptanceTester extends \Codeception\Actor
{
use _generated\AcceptanceTesterActions;
use \PunktDe\Codeception\Database\ActorTraits\Database; // use the database steps trait
}
Which steps are there?
To get all the steps available you can just run the following command:
vendor/bin/codecept -c path/to/codeception.yaml gherkin:steps suiteName
This will give you a table of all the steps available.