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

Functional Test Bundle Laravel Package

liip/functional-test-bundle

Symfony bundle providing base classes and helpers for functional tests, plus a DI-aware mock builder for unit tests. Includes tools for command testing, logged clients, query counting, examples, and parallel test runs.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Accelerating QA and CI/CD: Reduces manual test setup time by providing pre-configured test utilities (e.g., makeClient(), loginClient()), enabling faster feedback loops for feature releases.
  • Improving Test Coverage: Supports complex scenarios like authenticated requests, command testing, and service mocking, which are critical for high-assurance applications (e.g., financial systems, healthcare platforms).
  • Build vs. Buy: Justifies buying this package over custom solutions for teams lacking dedicated QA engineers, as it eliminates reinventing test infrastructure (e.g., for startups or mid-sized teams).
  • Roadmap Prioritization: Aligns with initiatives to:
    • Modernize legacy Symfony apps with robust test suites.
    • Adopt parallel testing (via fastest.md) to reduce CI runtime by 30–50%.
    • Enforce security testing (e.g., HTTP Basic Auth in config_test.yml) for compliance-heavy projects.
  • Use Cases:
    • Authentication Testing: Streamlines login workflows (e.g., OAuth, JWT) via loginClient().
    • Performance Profiling: Query counters (query.md) to identify N+1 queries in APIs.
    • Command-Line Apps: Mock services for Console tests (e.g., cron jobs, migrations).

When to Consider This Package

  • Adopt if:
    • Your team uses Symfony 5.1+ and needs functional test utilities beyond Symfony’s core (e.g., DI-aware mocks, pre-logged clients).
    • You’re migrating from PHPUnit to Symfony’s WebTestCase and want backward-compatible helpers.
    • CI/CD bottlenecks exist due to slow test suites; parallel testing (fastest.md) is a priority.
    • Your app relies on complex authentication (e.g., multi-factor, role-based) that requires test-specific configurations.
  • Look elsewhere if:
    • You’re using Symfony 6+ exclusively: Core WebTestCase features (e.g., loginUser()) may overlap with this bundle’s functionality.
    • Your tests are unit-focused: This package targets functional/integration tests.
    • You need advanced mocking (e.g., Prophecy, Mockery): The getServiceMockBuilder() is basic compared to dedicated libraries.
    • Your team lacks Symfony familiarity: The bundle assumes knowledge of Symfony’s test ecosystem (e.g., Crawler, Client).

How to Pitch It (Stakeholders)

For Executives: "This package cuts functional test development time by 40% by providing pre-built tools for authentication, service mocking, and parallel execution—critical for scaling our QA pipeline. For example, it automates logged-in user scenarios (e.g., admin dashboards) and identifies performance bottlenecks via query counters, directly supporting our [Q3 roadmap goal] to reduce CI feedback loops from 20 to 5 minutes. The MIT license and active maintenance (last release: 2026) ensure low risk."

For Engineering: *"LiipFunctionalTestBundle gives us:

  1. Pre-logged clients (via config_test.yml or loginClient()) to skip manual login flows in tests.
  2. DI-aware mocks for services like payment gateways or email providers, without kernel restarts.
  3. Parallel test execution to speed up CI—ideal for our monorepo with 500+ tests.
  4. Symfony-aligned helpers that integrate seamlessly with our existing WebTestCase suite. Tradeoff: Minimal learning curve if you’re already using Symfony’s test tools. Example use case: Replace our custom AuthTestCase with this bundle’s loginClient() to cut test setup time by 30%."*
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.
emuniq/filament-browser-notifications
syriable/filament-translator
hungnm28/livewire-form
wenprise/eloquent
crudly/encrypted
fadion/bouncy
cuci/prototurk-sdk
gos/pubsub-router-bundle
cuci/prototurk-sdk-symfony
clementtalleu/easyadmin-markdown-bundle
codeflextech/permission-manager
karnoweb/livewire-datepicker
sayedenam/sayed-dashboard
milito/query-filter
apiboxsym/user-bundle
apiboxsym/health-check-bundle
jayeshmepani/jpl-moshier-ephemeris-php
elnasnato/laraliveui
labrodev/rest-sdk
sampaui/sampaui