Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Full-stack testing PHP framework

Merge pull request #1756 from janhenkgerritsen/2.0

Fix for undefined method Symfony\Component\HttpFoundation\Request::route()
latest commit 4cc87c5976
Michael Bodnarchuk DavertMik authored

Codeception Latest Stable Total Downloads Gitter

Modern PHP Testing for everyone

Codeception is a modern full-stack testing framework for PHP. Inspired by BDD, it provides you an absolutely new way of writing acceptance, functional and even unit tests. Powered by PHPUnit.

release branch status
Stable 1.8 Build Status Dependencies Status
Current 2.0 Build Status
Edge master Build Status Dependencies Status



Bugfixes should be sent to to current stable branch, which is the same as major version number. Breaking features and major improvements should be sent into master. When you send PRs to master, they will be added to release cycle only when the next stable branch is started.

Check also the "tests/" to learn more about the available internal Codeception tests.


The documentation for each module is directly generated from the corresponding docblock which can be found in each module (src/Module/Codeception/*.php).

At a Glance

Describe what you test and how you test it. Use PHP to write descriptions faster.

Run tests and see what actions were taken and what results were seen.

Sample acceptance test


$I = new FunctionalTester($scenario);
$I->wantTo('create wiki page');
$I->see('New Page');
$I->submitForm('form#new_page', array('title' => 'Tree of Life Movie Review','body' => "Next time don't let Hollywood create art-house!"));
$I->see('page created'); // notice generated
$I->see('Tree of Life Movie Review','h1'); // head of page of is our title
$I->seeInCurrentUrl('pages/tree-of-life-movie-review'); // slug is generated
$I->seeInDatabase('pages', array('title' => 'Tree of Life Movie Review')); // data is stored in database

For unit testing you can stay on classic PHPUnit tests, as Codeception can run them too.


Documentation on Github

Documentation is currently included within the project. Look for it in the 'docs' directory.



Download codecept.phar

Copy it into your project.

You can also make Codeception an executable and it put it into your $PATH, for instance:


chmod +x codecept.phar

sudo mv codecept.phar /usr/local/bin/codecept

You can then run Codecept in the command line using: codecept bootstrap, codecept run, etc

Run CLI utility:

php codecept.phar


php composer.phar require "codeception/codeception"

Read Also Installation | QuickStart

Getting Started

If you successfully installed Codeception, run this command:

codecept bootstrap

this will create a default directory structure and default test suites

See Documentation for more information.



(c) Michael Bodnarchuk "Davert" 2011-2014

Something went wrong with that request. Please try again.