最新服务器上的版本,以后用这个
wangzhenxin
2023-11-19 bc164b8bdbfbdf1d8229a5ced6b08d7cb8db7361
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