Codeception\Step\Argument\PasswordArgument to pass sensitive data into tests:<?php
use \Codeception\Step\Argument\PasswordArgument;
$I->amOnPage('/form/password_argument');
$I->fillField('password', new PasswordArgument('thisissecret'));
clearField method to clean up input fields by @eknejmake method to create instances without saving them to database. But @ibpavlovsendPOST() without name, size or type parameter. BY @zebraf1clean command works recursively with included setups. By @davidnewcombCodeception\Util\Stub moved to standalone package Codeception\Stub:
Codeception\Stub instead of Codeception\Util\Stub::once, ::never, etc moved to Codeception\Stub\Expected classCodeception\Util\Stub provides deprecation warning.executeAsyncJS action to run asynchronous scripts.executeJS to pass additional arguments into JavaScript function.setCookie signs cookies when signing enabled. #4656 By @SamMousacreateAndSetCsrfCookie added. #4656 By @SamMousaleague/factory-muffin-faker by @Naktibalda and @Insolita.env files. Fix by @ebuildy--coverage-phpunit option added_getResponseStatusCode hidden method for using in helpers. By @FanchTheSystem:port for cookie domain;->amOnPage('/'); executed when running code coverage with WebDriverinclude config parameter. Fixes #4733 by @ppetpadriewgenerate:test command won't include tester property if actor is not set for this config.seeInDatabse, dontSeeInDatabase, grabFromDatabase and other methods to support SQL comparison operators: <, >, >=, <=, !=, like. Thanks @susgo and @Naktibalda.User-Agent in config via headers. Fixed #4576 by @Naktibalda.dontSeeInPopup by @kpascal.title attribute. See #4586 by @gimler.app property added to public API. Thanks @sky003.tgz files to be accepted for database dumps. #4611 by @Lukazarsee when source code contains <= JS operator. By @tobias-kuendig Fixes #4509.endpoint for AmazonSQS by @gitis.DummyCodeCoverage::stop See #4665 by @network-spyexit(0) was accidentally called. Fixes false-positive test reports. See #4604 by Fenikkusu.path: tests: . in configuration. Fixes #4432 by @marcovtwoutuse section. #4614 by @bscheshirworkDescriptor::getTestSignatureUnique to create unique names for tests. See #4673 by @Tenzian. Fixes #4672setExpectedException() default value for PHPUnit 5.7.23 by @MilesChou. See #4566argv warnings, added check for register_argc_argv. Fixes #4595 by @Naktibaldainit command to codecept.phar by @Naktibalda.And many thanks to our awesome contributors! Thanks to @VolCh for upgrading to Symfony 4, thanks @Naktibalda for patches and reviews and thanks to @carusogabriel for refactoring tests.
haveHttpHeader enhanced to handle special characters. #4541 by @bnpatel1990suite_namespace config option to suite config. Allows to set custom namespace for tests per suite. #4525 by @pohneanupdateInDatabase method_insertInDatabase to insert record without cleanupbackupConfig when initializing yii2 moduleandWhere instead of where in Yii module's findRecord() by @SamMousa. See #4482amNTLMAuthenticated for NTLM authentication using PhpBrowser. By @TenzianExtension\RunFailed. Added fail-group parameter to customize name of a failed group. By @ maxgorovenko\Codeception\Util\Fixtures::exists() method by @eXorusTestParseException exception message by @gaainf. See #4446init command: create the _generated folder before writing a .gitignore file there by @nstapelbroek. See #4449@dataProvider by @sh41. See #4439Codeception/Verify by @ddinchevassertArraySubset protected across all modules by @guidocellaseeInFormFields by @guidocellaseeInField check options' texts and trimmed texts. By @guidocellasubmitForm to submit inputs in disabled fieldsets. Fixes #4426 by @moebrowneamOnUrl with empty path component. If path component was empty, it used previous url. Fixes #4383 by @NaktibaldawebDriver->getCapabilities() for facebook/php-webdriver < 1.3 (could happen on PHP 5.4, 5.5). Fixes #4435wait accept fractional amount of seconds to wait for less than a second. By @gvlasov$_SERVER global instead of $_ENV. See #4401 by @EricTendianhaveInCollection using __toString. See #4442 by @samusenkoiv@prepare annotation to make realtime configuration for tests in Cest and Test classes. See documentation.Example: disabling Doctrine2 database transaction for a test
<?php
/**@prepare disableTransactions */
function testDoctrine()
{
}
protected function disableTransactions(Doctrine2 $module)
{
$module->_reconfigure(['cleanup' => false]);
}
wait* methods. See Documentationstart option to disable autostart of a browser for tests. (can be useful for Cloud testing setups)_capabilities method for setting desired capabilities in runtime (can be combined with @prepare annotation)_initializeSession and _closeSession can be used in Helpers to start and stop browser manually (combine with start: false config)cleanup configuration option (backward-compatible): (#4379 by @leandrogehlen)
cleanup - to cleanup loaded fixturestransaction - wrap tes into transactionassertStringStartsWith and assertArraySubset by @guidocellaupdateInDatabase method by @eXorus. See #4385$module::$excludeActions property for existence before accessing it. Fixes #4381 by @CactusCoderSymfony::extractRawRoles() failed on security collector (Symfony >= 3.3) #4309 by @Bassterdisable_exception_handling functionality. See #4370. By @janhenkgerritsengrabColumnFromDatabase to fetches values from the column in database. By @RebOOter--coverage, --xml, --html options without parameters (Symfony Console 3.3 compatibility).files section from composer.json (regression from 2.3.2) to avoid unintentionally loading shim files. Fixes Yii migration issue.saveScreenshot allows to save screenshots with no name passed in. See #4263 by @eXorusself-update downloads php5.4 build if php version <7.0. Fixes #4269cleanup: false.dump optional if populator is set. Fixes #4247generate:suite command to create a directory for the suite. Fixes #4251
codecept run --ext DotReporter
--ext parameter added to load extensions dynamically.cleanup: false, populate: false. Enable them to load dumps between tests.cleanupBefore: 'never' by @hchonangenerate:phpunit removed._bootstrap.php files are disabled by default.actor replaced with actor_suffix in global configclass_name replaced with actor in suite config