Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Module Symfony Laravel Package

codeception/module-symfony

Symfony module for Codeception that integrates the framework’s kernel, container, and HTTP client for functional/acceptance testing. Boot the app, make requests, assert responses, and access services to test controllers and app behavior with minimal setup.

View on GitHub
Deep Wiki
Context7
3.10.1

What's Changed

Full Changelog: https://github.com/Codeception/module-symfony/compare/3.10.0...3.10.1

3.10.0

Minor release featuring two new assertion trait groups, Symfony 8.1 test support, plus DX, performance, and bug fixes.

🚀 New Features

Messenger Assertions

Introduced MessengerAssertionsTrait for testing dispatched messages ([#241]):

  • seeMessageDispatched()
  • dontSeeMessageDispatched()
  • seeDispatchedMessageCount()
  • grabDispatchedMessageClasses()

Symfony-Inherited Assertions

Ported directly from Symfony's own test helpers ([#240]):

  • Browser: assertBrowserHistoryIsOnFirstPage(), assertBrowserHistoryIsNotOnFirstPage(), assertBrowserHistoryIsOnLastPage(), assertBrowserHistoryIsNotOnLastPage()
  • DomCrawler: assertSelectorCount(), assertAnySelectorTextContains(), assertAnySelectorTextSame(), assertAnySelectorTextNotContains()
  • Mailer: getMailerEvents(), getMailerMessages(), getMailerMessage()
  • Mime: assertEmailAddressNotContains(), assertEmailSubjectContains(), assertEmailSubjectNotContains()

🔄 Changed

Mail/Mime Assertions Refactor

Assertions now operate on RawMessage instead of Email to support any sent message type ([#232]):

  • grabLastSentEmail() return type widened from ?Email to ?RawMessage.
  • assertEmailAddressContains(), assertEmailHasHeader(), assertEmailNotHasHeader(), assertEmailHeaderSame(), and assertEmailHeaderNotSame() now accept ?Message instead of ?Email.

⚠️ Important Runtime Note: The object returned by grabLastSentEmail() remains an Email instance at runtime, but its declared type is now the wider RawMessage. If your tests rely on Email-specific methods (like ->getTo() or ->getSubject()), you must explicitly narrow the type using instanceof Email or a type cast. Alternatively, migrate to the new assertEmailSubjectContains() or header assertions where possible.

Quality of Life & Performance

  • Improved DX, type safety, and performance across all assertion traits by adding/tightening type hints and reducing redundant operations in hot paths. ([#235], [#234])

🐛 Fixed

  • Doctrine: Fixed missing security context in Doctrine entity listeners after a kernel reboot. ([#236])
  • Profiler: Fixed profiler service deprecation by switching to the non-deprecated internal service ID. ([#237])

🛠️ Maintenance

  • Added Symfony 8.1 to the test matrix and included symfony/messenger as an unchanged dev dependency. ([#243])
  • Applied the 7.4 reset-formats patch using GNU patch (fuzz) and pinned codeception/module-rest to ^3.4 in the functional suite. ([#242])

🤝 New Contributors

Full Changelog: https://github.com/Codeception/module-symfony/compare/3.9.1...3.10.0

3.9.2

What's Changed

Full Changelog: https://github.com/Codeception/module-symfony/compare/3.9.1...3.9.2

3.6.0

What's Changed

New Contributors

Full Changelog: https://github.com/Codeception/module-symfony/compare/3.5.1...3.6.0

3.5.1

What's Changed

Support Symfony 7.2 (https://github.com/Codeception/module-symfony/pull/203). Added Symfony Translation assertions (https://github.com/Codeception/module-symfony/pull/205):

  • dontSeeFallbackTranslations
  • dontSeeMissingTranslations
  • grabDefinedTranslationsCount
  • seeAllTranslationsDefined
  • seeDefaultLocaleIs
  • seeFallbackLocalesAre
  • seeFallbackTranslationsCountLessThan
  • seeMissingTranslationsCountLessThan

Added Symfony Logger assertion (dontSeeDeprecations) (https://github.com/Codeception/module-symfony/pull/206).

Full Changelog: https://github.com/Codeception/module-symfony/compare/3.5.0...3.5.1

3.5.0

🎉 Release 3.5.0

🆕 New Assertions

you can now use all Symfony assertions directly in Codeception with the $I-> syntax.

  • Browser assertions:
assertBrowserCookieValueSame
assertBrowserHasCookie
assertBrowserNotHasCookie
assertRequestAttributeValueSame
assertResponseCookieValueSame
assertResponseFormatSame
assertResponseHasCookie
assertResponseHasHeader
assertResponseHeaderNotSame
assertResponseHeaderSame
assertResponseIsSuccessful
assertResponseIsUnprocessable
assertResponseNotHasCookie
assertResponseNotHasHeader
assertResponseRedirects
assertResponseStatusCodeSame
  • DomCrawler assertions:
assertCheckboxChecked
assertCheckboxNotChecked
assertInputValueNotSame
assertInputValueSame
assertPageTitleContains
assertPageTitleSame
assertSelectorExists
assertSelectorNotExists
assertSelectorTextContains
assertSelectorTextNotContains
assertSelectorTextSame
  • HttpClient assertions:
assertHttpClientRequest
assertHttpClientRequestCount
assertNotHttpClientRequest
  • Mailer assertions:
assertEmailCount
assertEmailIsQueued
assertEmailIsNotQueued
assertQueuedEmailCount
  • Form assertions:
assertFormValue
assertNoFormValue

🔧 Other Changes

🚀 Enjoy the new features and keep building better tests!

New Contributors

Full Changelog: https://github.com/Codeception/module-symfony/compare/3.4.0...3.5.0

3.4.0

What's Changed

New Contributors

Full Changelog: https://github.com/Codeception/module-symfony/compare/3.3.2...3.4.0

3.3.2

What's Changed

Full Changelog: https://github.com/Codeception/module-symfony/compare/3.3.1...3.3.2

3.3.0

What's Changed

Full Changelog: https://github.com/Codeception/module-symfony/compare/3.2.0...3.3.0

3.2.0
3.1.1
  • Allow installation of lib-innerbrowser v4 to support PHPUnit 10.
3.0.0
  • Support for Codeception 5
2.1.1
2.1.0

What's Changed

By @TavoNiievez:

By @ThomasLandauer:

Full Changelog: https://github.com/Codeception/module-symfony/compare/2.0.5...2.1.0

2.0.5

Added assertions for Symfony Mime component (#139):

  • assertEmailAddressContains
  • assertEmailAttachmentCount
  • assertEmailHasHeader
  • assertEmailHeaderNotSame
  • assertEmailHeaderSame
  • assertEmailHtmlBodyContains
  • assertEmailHtmlBodyNotContains
  • assertEmailNotHasHeader
  • assertEmailTextBodyContains
  • assertEmailTextBodyNotContains
2.0.4
  • New method: $I->goToLogoutPath();

  • $I->logout(); is now an alias for $I->logoutProgrammatically();

  • Added changelog link to readme.md (#136) by @Arhell

2.0.3
  • Added Symfony 5.3 compatibility (#133).
  • Added new method: $I->seeRequestTimeIsLessThan() (#132).
2.0.2

Logical changes by @mrsombre :

  • Fix Doctrine Connection service alias (#129)

Documentation changes by @ThomasLandauer :

  • submitSymfonyForm(): Mentioning name attribute (#128)
2.0.1

Minor changes in documentation by @ThomasLandauer :

  • Added info from the 'Codeception for Symfony' page (#98)
  • Explaining the stopFollowingRedirects() restriction for email (#118)
  • Added 'See also' in related email functions (#122)
  • Standardize "[@example](https://github.com/example).com" as domain in documentation (#124)
  • Mentioning Symfony Mailer requirement (#126)
  • Changing Fail message for Symfony Mailer (#127)
2.0.0

If you are already using Symfony 4.4 or higher it should not be necessary to make changes to your tests to update!

1.6.0
  • New methods by @TavoNiievez:

    • dontSeeEventTriggered
    • seeFormErrorMessages
    • seeUserHasRoles
  • Remembered authentication methods now also verify the Cookie generated (#81)

  • Fixed time metric when running test with --debug (#77)

If you're interested in contributing to this module and didn't know where to start, a contribution guide is now available, thanks to @ThomasLandauer and @TavoNiievez (#79).

BC: Removed support for PHP 7.1 and PHP 7.2.

Minor changes: (#65) (#78)

1.5.0
  • New method by @ThomasLandauer:

    • dontSeeInSession
  • New methods by @TavoNiievez:

    • dontSeeRememberedAuthentication
    • grabNumRecords
    • seeEventTriggered
    • seeRememberedAuthentication
    • seeSessionHasValues
    • persistPermanentService
  • Now you can run test for all the methods of this module in https://github.com/Codeception/symfony-module-tests .

  • BC: Remove PHP 7.0 support (#69), code standards updated to PHP 7.1+ (#75)

  • BC: Removed parameter flags in seeAuthentication, dontSeeAuthentication and persistService, use seeRememberedAuthentication, dontSeeRememberedAuthentication and persistPermanentService instead.

Minor logical change in #74.

1.4.2

Minor non-logical changes in #57 and #62.

1.4.1
1.4.0
  • New methods by @TavoNiievez:

    • seeFormErrorMessage (#50)
    • dontSeeFormErrors function (#49)
    • seeFormHasErrors function (#48)
  • Minor logic fixes (#51), (#47), (#44), (#41) and (#56).

1.3.0
  • New methods by @TavoNiievez:

    • grabRepository (#27)
    • seeUserPasswordDoesNotNeedRehash (#29)
    • grabParameter (#30)
    • submitSymfonyForm (#32)
    • seePageIsAvailable (#33)
    • seePageRedirectsTo (#33)
  • Supports vlucas/phpdotenv v5 (#28)

  • Minor logic fixes (#35), (#36), (#37) and (#38)

  • Improved documentation of the 'Parts' feature by @ThomasLandauer (#40)

  • BC: Removed support for php 5.6 and Symfony 2.8 (#39)

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
codraw/entity-migrator
codraw/doctrine-extra
codraw/aws-tool-kit
codraw/validator
codraw/workflow
codraw/open-api
codraw/cron-job
codraw/process
codraw/log
nexmo/api-specification
capell-app/block-library
axium/identity
cetria/laravel-dummy-models
cetria/reflection-helper
agropredict/sso-auth-bundle
evolvestudio/spam-protection
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony