commit | author | age
|
2207d6
|
1 |
#### 2.3.9 |
W |
2 |
|
|
3 |
* Added `Codeception\Step\Argument\PasswordArgument` to pass sensitive data into tests: |
|
4 |
|
|
5 |
```php |
|
6 |
<?php |
|
7 |
use \Codeception\Step\Argument\PasswordArgument; |
|
8 |
|
|
9 |
$I->amOnPage('/form/password_argument'); |
|
10 |
$I->fillField('password', new PasswordArgument('thisissecret')); |
|
11 |
``` |
|
12 |
|
|
13 |
* [WebDriver] added `clearField` method to clean up input fields by @eknej |
|
14 |
* [DataFactory] added `make` method to create instances without saving them to database. But @ibpavlov |
|
15 |
* [REST] Fixed passing a file to `sendPOST()` without name, size or type parameter. BY @zebraf1 |
|
16 |
* [REST] Add missing / to relative url from config by @bscheshirwork |
|
17 |
* Fixed HTML Report marks tests as succeeded by @mpgo13 |
|
18 |
* `clean` command works recursively with included setups. By @davidnewcomb |
|
19 |
|
|
20 |
|
|
21 |
#### 2.3.8 |
|
22 |
|
|
23 |
* `Codeception\Util\Stub` moved to standalone package [Codeception\Stub](https://github.com/Codeception/Stub): |
|
24 |
* Use `Codeception\Stub` instead of `Codeception\Util\Stub` |
|
25 |
* Mocking methods `::once`, `::never`, etc moved to `Codeception\Stub\Expected` class |
|
26 |
* Calling mocking methods from `Codeception\Util\Stub` provides deprecation warning. |
|
27 |
* Non-static API is [recommended to use for mocking](http://codeception.com/docs/05-UnitTests) |
|
28 |
* [WebDriver] Added `executeAsyncJS` action to run asynchronous scripts. |
|
29 |
* [WebDriver] Added second parameter to `executeJS` to pass additional arguments into JavaScript function. |
|
30 |
* [Yii2] `setCookie` signs cookies when signing enabled. #4656 By @SamMousa |
|
31 |
* [Yii2] Method `createAndSetCsrfCookie` added. #4656 By @SamMousa |
|
32 |
* Compatibility with phpunit-mock-objects 5.* by @Naktibalda |
|
33 |
* [DataFactory] Removed dependency to `league/factory-muffin-faker` by @Naktibalda and @Insolita |
|
34 |
* Fixed auto-rebuilding Actor classes when dependencies are used. See #4694 by @stefankleff. |
|
35 |
* [Symfony] allows to use Symfony Dotenv component to parse `.env` files. Fix by @ebuildy |
|
36 |
* Added the ability to export the code coverage data in PHPUnit xml format by @tobiasstadler |
|
37 |
* `--coverage-phpunit` option added |
|
38 |
* Allows to use mutation testing with [Inflection](https://infection.github.io) |
|
39 |
* [ZendExpressive] Added Doctrine2 integration by @artmnv |
|
40 |
* [PhpBrowser][Frameworks] Added `_getResponseStatusCode` hidden method for using in helpers. By @FanchTheSystem |
|
41 |
* [Yii2] Use Yii DI to instantiate record class. Fixes #4762. By @bscheshirwork |
|
42 |
* Remote Code Coverage improvements #4768 by @bscheshirwork |
|
43 |
* Remove `:port` for cookie domain; |
|
44 |
* `->amOnPage('/');` executed when running code coverage with WebDriver |
|
45 |
* Fixed running single test with `include` config parameter. Fixes #4733 by @ppetpadriew |
|
46 |
* Fixed running single test when a custom suite path is configured (For instance, in single-suite setups). |
|
47 |
* `generate:test` command won't include `tester` property if actor is not set for this config. |
|
48 |
* [Facebook] Module is not maintained and is deprecated. If you are using it and you want to keep it, please contact us. |
|
49 |
|
|
50 |
#### 2.3.7 |
|
51 |
|
|
52 |
* **Symfony 4 support** implemented by @VolCh. |
|
53 |
* Dependencies updated to support Symfony 4.x components. |
|
54 |
* [Symfony] Support for Symfony Flex directory and namespace structure |
|
55 |
* [Demo application](https://github.com/Codeception/symfony-demo) was updated to Symfony 4.0 |
|
56 |
* [Db] `seeInDatabse`, `dontSeeInDatabase`, `grabFromDatabase` and other methods to support SQL comparison operators: `<`, `>`, `>=`, `<=`, `!=`, `like`. Thanks @susgo and @Naktibalda. |
|
57 |
* [Db] Fixed quoting around schema identifiers in MSSQL by @Naktibalda. See #4542. |
|
58 |
* [Db] Added SSL options for connection. Thanks @kossi84 |
|
59 |
* [Db] Fix getting Database name from DSN in MSSQL by @yesdevnull. |
|
60 |
* [PhpBrowser] Fixed setting `User-Agent` in config via `headers`. Fixed #4576 by @Naktibalda. |
|
61 |
* [WebDriver] Implemented `dontSeeInPopup` by @kpascal. |
|
62 |
* [WebDriver] Allow to click a button located by its `title` attribute. See #4586 by @gimler. |
|
63 |
* [Silex] `app` property added to public API. Thanks @sky003 |
|
64 |
* [Yii2] Pass DB to Yii application as early as possible to reuse old connection. By @SilverFire. See #4601 |
|
65 |
* [Yii2] Resetting global event handlers after a test. See #4621 by @SamMousa |
|
66 |
* [Yii2] Recreate request object to reset headers and cookies before each request. Fixes #4587 by @erickskrauch |
|
67 |
* [MongoDb] Allowing `.tgz` files to be accepted for database dumps. #4611 by @Lukazar |
|
68 |
* [PhpBrowser][Frameworks] Fixed usage of `see` when source code contains `<=` JS operator. By @tobias-kuendig Fixes #4509. |
|
69 |
* [Queue] Added configuration parameter `endpoint` for AmazonSQS by @gitis. |
|
70 |
* Fixed signature error in `DummyCodeCoverage::stop` See #4665 by @network-spy |
|
71 |
* Throw exception if `exit(0)` was accidentally called. Fixes false-positive test reports. See #4604 by Fenikkusu. |
|
72 |
* Fixed using `path: tests: .` in configuration. Fixes #4432 by @marcovtwout |
|
73 |
* Fixed suite name containing slash in remote code coverage. #4612 by @bscheshirwork |
|
74 |
* Improved generated actions file by removing redundant `use` section. #4614 by @bscheshirwork |
|
75 |
* Don't skip last test if some test has missing dependency by @Naktibalda. Fixes #4598 |
|
76 |
* Improved PHP 7.2 compatibility by @FanchTheSystem. See #4557 |
|
77 |
* Implemented `Descriptor::getTestSignatureUnique` to create unique names for tests. See #4673 by @Tenzian. Fixes #4672 |
|
78 |
* Fixed `setExpectedException()` default value for PHPUnit 5.7.23 by @MilesChou. See #4566 |
|
79 |
* Fixed printing wrong failed step by @eXorus. See #4654 |
|
80 |
* Fixed undefined `argv` warnings, added check for `register_argc_argv`. Fixes #4595 by @Naktibalda |
|
81 |
* Added `init` command to `codecept.phar` by @Naktibalda. |
|
82 |
|
|
83 |
And many thanks to our awesome contributors! Thanks to @VolCh for upgrading to Symfony 4, thanks @Naktibalda for patches and reviews and |
|
84 |
thanks to @carusogabriel for refactoring tests. |
|
85 |
|
|
86 |
#### 2.3.6 |
|
87 |
|
|
88 |
* **Laravel 5.5 compatibility**. Laravel5 module documentation updated. |
|
89 |
* [Doctrine2][DataFactory] Fixes using Doctrine2 with DataFactory module. See #4529. Fix by @samusenkoiv |
|
90 |
* [REST] Fixed JsonType crash when key 0 is not an array. Fixes #4517 by @Naktibalda |
|
91 |
* [PhpBrowser][Frameworks] `haveHttpHeader` enhanced to handle special characters. #4541 by @bnpatel1990 |
|
92 |
* [WebDriver] Delete all cookies before loading session snapshot. Fix by @eXorus. See #4487 |
|
93 |
* Added `suite_namespace` config option to suite config. Allows to set custom namespace for tests per suite. #4525 by @pohnean |
|
94 |
* [Db] Module enhancements by @eXorus: |
|
95 |
* added `updateInDatabase` method |
|
96 |
* added hidden `_insertInDatabase` to insert record without cleanup |
|
97 |
* [Yii2] Set transaction also in `backupConfig` when initializing yii2 module |
|
98 |
* [Yii2] Unload fixtures after rolling back database transaction. By @devonliu02 (#4497) |
|
99 |
* [Yii2] Use `andWhere` instead of `where` in Yii module's `findRecord()` by @SamMousa. See #4482 |
|
100 |
* [REST] Added `amNTLMAuthenticated` for NTLM authentication using PhpBrowser. By @Tenzian |
|
101 |
* Inject exception file and line number frame into stack trace in case it is missing. By @rhl-jfm at #4491) |
|
102 |
* `Extension\RunFailed`. Added `fail-group` parameter to customize name of a failed group. By @ maxgorovenko |
|
103 |
* Added `\Codeception\Util\Fixtures::exists()` method by @eXorus |
|
104 |
* Added line number to `TestParseException` exception message by @gaainf. See #4446 |
|
105 |
* Fixed `init` command: create the `_generated` folder before writing a `.gitignore` file there by @nstapelbroek. See #4449 |
|
106 |
* Better failure messages for `@dataProvider` by @sh41. See #4439 |
|
107 |
* Fixed aliasing issue with `Codeception/Verify` by @ddinchev |
|
108 |
|
|
109 |
#### 2.3.5 |
|
110 |
|
|
111 |
* Fixed HTML report with unencoded HTML code by @mpgo13. See #3819 #4423 |
|
112 |
* Made `assertArraySubset` protected across all modules by @guidocella |
|
113 |
* [WebDriver][PhpBrowser][Frameworks] Added support for associative arrays in `seeInFormFields` by @guidocella |
|
114 |
* [PhpBrowser][Frameworks] Submit default values of checkboxes. See #4411 by @guidocella |
|
115 |
* [PhpBrowser][Frameworks] Make `seeInField` check options' texts and trimmed texts. By @guidocella |
|
116 |
* [PhpBrowser] Prevents `submitForm` to submit inputs in disabled fieldsets. Fixes #4426 by @moebrowne |
|
117 |
* [PhpBrowser] Fixed `amOnUrl` with empty path component. If path component was empty, it used previous url. Fixes #4383 by @Naktibalda |
|
118 |
* [Db] Improved postgres cleanup (recreate schema) by @samusenkoiv |
|
119 |
* [Laravel5] Don't duplicate associative array fields on form submission. See #4414 by @guidocella |
|
120 |
* [WebDriver] Fixed `webDriver->getCapabilities()` for `facebook/php-webdriver` < 1.3 (could happen on PHP 5.4, 5.5). Fixes #4435 |
|
121 |
* [WebDriver] Make `wait` accept fractional amount of seconds to wait for less than a second. By @gvlasov |
|
122 |
* [Laravel5] Changing params loader to use `$_SERVER` global instead of `$_ENV`. See #4401 by @EricTendian |
|
123 |
* [Mongo] Fixes `haveInCollection` using `__toString`. See #4442 by @samusenkoiv |
|
124 |
* Dereferencing variables for Steps output. Fixes #4402 by @alambe |
|
125 |
* [Symfony] Load persistent services before loading profiler. See #4437 by @samusenkoiv |
|
126 |
|
|
127 |
#### 2.3.4 |
|
128 |
|
|
129 |
* Added `@prepare` annotation to make realtime configuration for tests in Cest and Test classes. [See documentation](http://codeception.com/docs/06-ModulesAndHelpers#Runtime-Configuration-of-a-Test). |
|
130 |
|
|
131 |
Example: disabling Doctrine2 database transaction for a test |
|
132 |
|
|
133 |
```php |
|
134 |
<?php |
|
135 |
/**@prepare disableTransactions */ |
|
136 |
function testDoctrine() |
|
137 |
{ |
|
138 |
} |
|
139 |
|
|
140 |
protected function disableTransactions(Doctrine2 $module) |
|
141 |
{ |
|
142 |
$module->_reconfigure(['cleanup' => false]); |
|
143 |
} |
|
144 |
``` |
|
145 |
* [WebDriver] **SmartWait**. Automatically waits for a few extra seconds for element to appear on a page before failing. Can reduce high usage of `wait*` methods. [See Documentation](http://codeception.com/docs/03-AcceptanceTests#SmartWait) |
|
146 |
* Added [RunProcess extension](http://codeception.com/extensions#RunProcess). Use it to start/stop Selenium (or other process) automatically for a test suite. |
|
147 |
* [WebDriver] Customization improvements: |
|
148 |
* added `start` option to disable autostart of a browser for tests. (can be useful for Cloud testing setups) |
|
149 |
* added `_capabilities` method for setting desired capabilities in runtime (can be combined with `@prepare` annotation) |
|
150 |
* `_initializeSession` and `_closeSession` can be used in Helpers to start and stop browser manually (combine with `start: false` config) |
|
151 |
* Fixed running a single test from a global config when using included configs. See #4366 by @zebraf1 (improves PhpStorm integration) |
|
152 |
* [Doctrine2][Laravel5][Yii2][Phalcon] Print debug information for started/stopped transactions in tests. See #4352 |
|
153 |
* [PhpBrowser][Frameworks] click with context respects base tag #4330 by @Naktibalda. |
|
154 |
* [Yii2] Split `cleanup` configuration option (backward-compatible): (#4379 by @leandrogehlen) |
|
155 |
* `cleanup` - to cleanup loaded fixtures |
|
156 |
* `transaction` - wrap tes into transaction |
|
157 |
* [Asserts] Added `assertStringStartsWith` and `assertArraySubset` by @guidocella |
|
158 |
* [Db] Added `updateInDatabase` method by @eXorus. See #4385 |
|
159 |
* In helpers and modules to check `$module::$excludeActions` property for existence before accessing it. Fixes #4381 by @CactusCoder |
|
160 |
* [Symfony] Fixed printing debug response when `Symfony::extractRawRoles()` failed on security collector (Symfony >= 3.3) #4309 by @Basster |
|
161 |
* [Laravel5] Fixed bug with `disable_exception_handling` functionality. See #4370. By @janhenkgerritsen |
|
162 |
* [Db] Added `grabColumnFromDatabase` to fetches values from the column in database. By @RebOOter |
|
163 |
|
|
164 |
#### 2.3.3 |
|
165 |
|
|
166 |
* Fixed running with `--coverage`, `--xml`, `--html` options without parameters (Symfony Console 3.3 compatibility). |
|
167 |
* Removed `files` section from `composer.json` (regression from 2.3.2) to avoid unintentionally loading shim files. Fixes [Yii migration issue](https://github.com/yiisoft/yii2/issues/14226). |
|
168 |
* [WebDriver] `saveScreenshot` allows to save screenshots with no name passed in. See #4263 by @eXorus |
|
169 |
* [REST][PhpBrowser] Fixed #4287, using empty values for headers by @tobiastom. |
|
170 |
* Phar `self-update` downloads php5.4 build if php version <7.0. Fixes #4269 |
|
171 |
|
|
172 |
#### 2.3.2 |
|
173 |
|
|
174 |
* [Db] Fixed: Database has been cleaned up between tests even with `cleanup: false`. |
|
175 |
* [Db] Made `dump` optional if `populator` is set. Fixes #4247 |
|
176 |
* Fixed `generate:suite` command to create a directory for the suite. Fixes #4251 |
|
177 |
* Fixed composer autoloading with PHPUnit 6 by @enumag. See #4262 |
|
178 |
|
|
179 |
#### 2.3.1 |
|
180 |
|
|
181 |
* Updated composer constraints to include PHPUnit 6.x |
|
182 |
|
|
183 |
#### 2.3.0 |
|
184 |
|
|
185 |
* **PHPUnit 6.x** support #4142 by @MontealegreLuis. Class aliases are used, so PHPUnit 4.x and 5.x (for PHP <7) are still supported as well. |
|
186 |
* Suite customization. [Announcement](/05-22-2017/codeception-2-3.html#configuration-improvements) |
|
187 |
* Installation Templates. [Announcement](/05-22-2017/codeception-2-3.html#installation-templates) |
|
188 |
* DotReporter introduced. Use it with |
|
189 |
``` |
|
190 |
codecept run --ext DotReporter |
|
191 |
``` |
|
192 |
* `--ext` parameter added to load extensions dynamically. |
|
193 |
* Db Populator [Announcement](/05-22-2017/codeception-2-3.html#db-populator) by @brutuscat |
|
194 |
* [Db] New configuration defaults, cleanups are disabled: `cleanup: false`, `populate: false`. Enable them to load dumps between tests. |
|
195 |
* [Redis] New configuration defaults, cleanups are disabled: `cleanupBefore: 'never'` by @hchonan |
|
196 |
* Command `generate:phpunit` removed. |
|
197 |
* Bootstrap `_bootstrap.php` files are disabled by default. |
|
198 |
* Configuration changes: `actor` replaced with `actor_suffix` in global config |
|
199 |
* Configuration changes: `class_name` replaced with `actor` in suite config |
|
200 |
|