Skip to content

Latest commit

 

History

History
275 lines (212 loc) · 11.7 KB

CHANGELOG-5.x.md

File metadata and controls

275 lines (212 loc) · 11.7 KB

5.1.2

  • Prevent unrelated error from being displayed if a scenario step has failed by @craig-mcmahon in #6743
  • Replace Laravel5 with Laravel module in module installation suggestion by @W0rma in #6742

5.1.1

  • Reimplemented coverage:exclude option for PHPUnit 11 in #6739
  • Improved output of Bootstrap command by @ThomasLandauer in #6735

5.1.0

  • Support PHPUnit 11
  • Note: PHPUnit 11 does not support excluding files from code coverage report

5.0.13

  • Add actor to Cest tests dataProviders by @weeg in #6696
  • Support symfony 7 by @W0rma in #6723
  • Avoid infinite loop while waiting for all running tests to finish by @MarcelBolten in #6710
  • Add missing "Attribute::IS_REPEATABLE" to DataProvider attribute by @Fahl-Design in #6715
  • Support binary data intest examples by @pongee in #6708
  • Improve rendering of $I->assertThat step by @jtheuerkauf in #6719

5.0.12

  • Wait for all tests to finish before accessing the serialized test results by @MarcelBolten in #6702
  • Updated Support Ukraine link in version string

5.0.11

  • Fix sharding for empty tests file by @SamMousa in #6667
  • Add AllowDynamicProperties attribute to Unit by @erickskrauch in #6666
  • Include mock expectations in assertion count by @rene-bos in #6672
  • Allow multiple test dependencies by @mbrodala in #6676
  • JUnitReporter: Fixed compatibility with PHPUnit 10.3 by @Naktibalda in #6685

5.0.10

  • JUnitReporter: Fixed compatibility with PHPUnit 10.0.16 #6656
  • Recorder extension: Fixed type error #6643 by @thomashohn
  • Validate test filter pattern without warning #6641 by @dmitryuk

5.0.9

  • JUnitReporter: Do not set 'useless' testsuite attribute in strict mode #6635 by @gileri
  • Fixed static $defaultName deprecated in _completion command #6633 by @dmitryuk
  • Replaced object property assertions removed from PHPUnit 10

5.0.8

  • Support for PHPUnit 10

5.0.7

  • Disabled phpcs checks in generated action files #6621
  • $I->wantTo() no longer changes test title at runtime #6622
  • Display correct failed step when failures and errors happened during test run #6623
  • Fixed indentation of step_decorators in config files generated by bootstrap #6624
  • Enabled Conditional, Retry and tryTo decorators in acceptance suite generated by bootstrap #6624
  • Improved handling of anonymous classes in parser #6626

5.0.6

  • Fixed canSee assertions in Unit format #6610
  • tryTo methods must return boolean result #6614
  • Fixed various issues with handling of @skip and @incomplete annotations and attributes in Cest format #6617
  • Stopped adding __mocked field to mocks created by Stub library #6620
  • Fixed deprecated string syntax in Run command #6618 by @shtiher-pp

5.0.5

  • Don't disable test shuffling when --shard option is used (#6605)
  • Provided typed signatures for attributes (#6600) by @mdoelker
  • Support for Attributes in generated Actions files (#6593) by @yesdevnull
  • Fixed expectNotToPerformAssertions in unit tests (#6602) by @yesdevnull

5.0.4

  • Execute FailFast subscriber before module _failed hooks #6586 by @yesdevnull
  • Fixed parsing of @skip annotation #6596
  • Undeprecated untyped method arguments in Cest format #6591
  • Removed unnecessary overrides of $resultAggregator property in Unit format and TestCaseWrapper #6590
  • Print failure/error/warning/skipped/incomplete messages in HTML reports #6595
  • Fixed counting of successful tests #6595

5.0.3

  • Fixed passing test result to dependent tests in unit tests (#6580)
  • Fixed TypeError when @coversNothing annotation is used by Slamdunk (#6582)
  • codecept init unit creates tests/Support directory (#6578)
  • Fixed phar file url in self-update command by @voku (#6563)
  • Added message how to exit Codeception console by @ThomasLandauer (#6561)
  • Improved compatibility with PHPUnit 10

5.0.2

  • Fixed remote code coverage for namespaced suites (#6533)
  • Fixed data provider in abstract Cest class @p-golovin (#6560)
  • Fixed issue when include groups and test groups empty @geega (#6557)

5.0.1

  • Propagate --ext and --override parameters to included test suites by @calvinalkan (#6536)
  • Fixed false negative message about stecman/symfony-console-completion package by @geega (#6541)
  • Fixed a number of issues in template functionality (#6552)
  • Fixed DataProvider, to properly load dataProviders from abstract classes by @Basster (#6549)

5.0.0

Summary of all differences from Codeception 4

Added
  • Basic attribute support
  • --shard, --grep, --filter options
  • Test can be filtered by data provider case number or name
  • Tests of all formats are reported as useless if they perform no assertions and reports_useless_tests setting is enabled
  • Array of variables can be passed to all pause functions/methods
  • Dynamic configuration with parameters can use arrays and other non-string types (#6409)
  • codecept_pause function and $this->pause() in unit tests (#6387)
  • Interactive console is executed in the scope of paused test class.
  • New code coverage settings:
    • path_coverage - enables path and branch coverage
    • strict_covers_annotation - marks test as risky if it has @covers annotation but executes some other code
    • ignore_deprecated_code - doesn't collect code coverage for code having @deprecated annotation
    • disable_code_coverage_ignore - ignores @codeCoverageIgnore, @codeCoverageIgnoreStart and @codeCoverageIgnoreEnd annotations
  • Optional value to fail-fast option
  • Dynamic configuration with parameters can use arrays and other non-string types
Changed
  • PHPUnit is no longer the engine of Codeception, but TestCase format is still supported and assertions are still used
  • Generators create namespaced test suites by default
  • Replaced Hoa Console with PsySH in codecept console
  • Used Symfony VarDumper in codecept_debug
  • Fixed DotReporter output format
  • Module after and failed hooks are executed in reverse order
  • Introduced strict typing and other features of PHP 7 and 8.
  • Cest format can use data providers from other classes
  • Fixed injecting dependencies to actor in Cest and Gherkin formats #6506
  • Variadic parameters can be skipped in dependency injection #6505
  • Deprecated untyped method arguments in Cest format #6521
Removed
  • JSON and TAP report formats
  • Code coverage blacklist functionality
  • generate:cept command (Cept format itself is deprecated)
  • Deprecated class aliases:
    • Codeception\TestCase\Test
    • Codeception\Platform\Group
    • Codeception\Platform\Group
    • Codeception\TestCase
  • Settings
    • log_incomplete_skipped
    • paths.log (replaced by paths.output)
    • Suite setting class_name (replaced by actor)
    • Global setting actor (replaced by actor_prefix)
  • Configuration::logDir method (replaced by Configuration::outputDir in 2.0)
  • Custom reporters implementing TestListener are no longer supported and must be converted to Extensions
Supported versions
  • PHP 8
  • PHPUnit 9 (prepared for upcoming PHPUnit 10)
  • Symfony 4.4 - 6.x

5.0.0-RC8

  • Deprecated untyped method arguments in Cest format #6521
  • Improved code style of generated files #6522
  • Removed "Powered by PHPUnit" message #6520

5.0.0-RC7

  • Fixed injecting dependencies to actor in Cest and Gherkin formats #6506
  • Variadic parameters can be skipped in dependency injection #6505

5.0.0-RC6

  • Added new attributes (Prepare, Env, BeforeClass,AfterClass, Given, When, Then)
  • Class level attributes are applied to all methods
  • Codeception attributes are supported in unit tests
  • Cest format can use data providers from other classes

5.0.0-RC5

  • Substitute invalid UTF-8 characters in debug and step output by @SamoylenkoSU (#6483)

5.0.0-RC4

  • Implemented basic attribute support (#6449) by @DavertMik
  • Significantly reduced dependencies on PHPUnit
  • Replaced PHPUnit\Framework\TestResult with ResultAggregator
  • Added assertionCount method to ResultAggregator
  • DotReporter prints standard result summary (#6441) by @Orchestrator404
  • Fixed DotReporter output format
  • Fixed fetching remote code coverage data (#6448)
  • Loading .env file must not override existing environment variables (#6477)
  • All changes from 4.2.0 and 4.2.1:
    • Improved multi-application experience, allow filtering suites by name (#6435) by @calvinalkan
    • Configuration override is passed to included suites (#5978) by @calvinalkan
    • Made dry-run command work with module methods having return types (#6470)
    • Support for expectError/Warning/Notice/Deprecation methods in unit tests (Requires PHPUnit 8.4+)
    • Implemented new setting convert_deprecations_to_exceptions (#6469)
    • Action file generator: Do not return when return type is never (#6462)
    • Execute setupBeforeClass/tearDownAfterClass only once (#6481)

5.0.0-RC3

  • Fix incorrect type declaration in InitTemplate by @ziadoz
  • Stricter check for phpdotenv v5 (older versions are not supported)
  • Throw exception if actor setting is missing in suite configuration
  • Use correct types in ParamsLoader and Configuration classes, avoid type errors

5.0.0-RC2

  • Added --shard, --grep, --filter options (#6399)
  • Added new code coverage settings (#6423)
  • Dynamic configuration with parameters can use arrays and other non-string types (#6409)
  • Introduced codecept_pause function and $this->pause() in unit tests (#6387)
  • Interactive console is executed in the scope of paused test class.
  • Array of variables can be passed to all pause functions/methods
  • Replaced Hoa Console with PsySH in codecept console
  • Used Symfony VarDumper in codecept_debug (#6406)
  • Fixed type error in code coverage exclude filter by @W0rma
  • Fix type error in Recorder extension

5.0.0-RC1

  • Use PHPUnit 9 until PHPUnit 10 is released

5.0.0-alpha3

  • Support intersection types in actions
  • Introduced PSR-12 code style
  • Extracted some code to modules and shared libs
  • Fixed new incompatibilities with PHPUnit 10

5.0.0-alpha2

  • Generators create namespaced test suites by default (#6071) by @DavertMik
  • Test can be filtered by data provider case number or name (#6363) by @Naktibalda
  • Removed generate:cept command (Cept format is deprecated)
  • Removed settings disallow_test_output and log_incomplete_skipped.
  • Removed setting paths.log (it was replaced by paths.output in Codeception 2.3)
  • Removed suite setting class_name (replaced by actor in Codeception 2.3)
  • Removed global setting actor (replaced by actor_prefix in Codeception 2.3)
  • Removed Configuration::logDir method (replaced by Configuration::outputDir in 2.0)
  • ParamLoader throws exception if xml file is used but simplexml extension is missing (#6346) by @mdoelker
  • Updated codebase to use PHP 8.0 features by @TavoNiievez
  • Don't report test as useless if it failed (fixed bug introduced in alpha1)
  • Don't report local test coverage for remote suites (fixed bug introduced in alpha1)
  • Moved XmlBuilder class to module-soap

5.0.0-alpha1

  • Decoupled test execution and reporting from PHPUnit
  • Custom reporters implementing TestListener are no longer supported and must be converted to Extensions
  • Tests of all formats are reported as useless if they perform no assertions and reports_useless_tests setting is enabled
  • Added path_coverage setting to enable path and branch coverage #6158 by @s0lus
  • Added optional value to fail-fast option (#6275) by #Verest
  • Module after and failed hooks are executed in reverse order (#6062) by WillemHoman
  • Removed JSON and TAP loggers
  • Removed code coverage blacklist functionality
  • Removed deprecated class aliases
    • Codeception\TestCase\Test
    • Codeception\Platform\Group
    • Codeception\Platform\Group
    • Codeception\TestCase
  • Introduced strict types in the code base.
  • Compatible with PHPUnit 10 only
  • Compatible with Symfony 4.4 - 6.0
  • Requires PHP 8.0 or higher