Today we are announcing Codeception 2.1 RC release. We are almost ready to release a stable version, however we’d like to receive more feedback before the actual launch. We encourage you to install the latest 2.1 release and try it on your projects. Migrations should be painless if you follow the upgrade instructions. Here are the things you should keep in mind while upgrading:
- REST, SOAP and Doctrine2 modules rely on another module which should be explicitly set via
dependsconfig param. For instance, you should pass
Laravel5module if you do API testing with
modules: enabled: [REST, Laravel5] config: REST: depends: Laravel5
- Actor classes are moved to
_supportdirectory. Please delete all previously generated actor classes which reside in suites directories. New
UnitTesterclasses are expected to be extended with custom methods.
- Modules that share similar interfaces like
PhpBrowser, and framework modules won’t run together. You should avoid enabling more than one of those modules in suite config to avoid confusion. If you enable
$I->amOnPage('/')you can’t be sure how this command is exected - will it open a browser window using WebDriver protocol, or it will be handled by Laravel framework directly.
- Cept files should avoid setting their metadata via
$scenariomethods. Instead of calling
$scenario->group('firefox'), etc, it is recommended to set scenario settings with annotations
// @group firefox. With this change you can now skip tests based on a condition:
if (substr(PHP_OS, 0, 3) == 'Win') $scenario->skip().
- Kohana, Symfony1, Doctrine1 modules were removed and they reside in separate repositories in Codeception organization on GitHub.
That should be enough to have everything upgraded. We already prepared updated guides (they didn’t change from 2.1.0-beta). Please try new Codeception and tell us your opinion in comments or on GitHub.
Codeception 2.1 can be used with latest Guzzle 6 (as well as previous Guzzle releases). That’s the most important change since the beta version. See the changelog for more info. We are preparing site updates and demo apps to reflect new changes. Stay tuned!