> Markdown version of [Quarkus Integration](https://vaadin.com/docs/next/flow/testing/browserless/quarkus). Section index: [llms.txt](https://vaadin.com/docs/next/flow/llms.txt)

# Quarkus Integration

`QuarkusBrowserlessTest` integrates with `@QuarkusTest` and uses Quarkus-specific instantiation for dependency injection into views. Tests run in a mocked Vaadin environment even though `@QuarkusTest` also starts the application and HTTP server.

## <a id="test-profiles"></a>Test Profiles

`@TestProfile` selects a `QuarkusTestProfile` that can override configuration, enable alternative beans, and supply test resources.

## <a id="navigation-access-control"></a>Navigation Access Control

The Quarkus integration requires explicit registration of `NavigationAccessControl` as a UI `BeforeEnterListener`. A service-init observer can register it for the mocked service. Restricting that observer to `MockQuarkusServletService` avoids applying test-only setup to the application also started by `@QuarkusTest`.

## <a id="security-integration"></a>Security Integration

When Quarkus Security is present, the mock environment obtains authentication from `SecurityIdentity` before UI creation and initial navigation. `@TestSecurity` supplies test-method authentication and requires `quarkus-test-security`. For simultaneous users, [secured application contexts](https://vaadin.com/docs/next/flow/testing/browserless/multi-user.md) maintain each user’s security identity separately.

For worked examples, see [Set Up Browserless Tests with Quarkus](https://vaadin.com/docs/next/building-apps/testing/browserless/setup-quarkus.md) and [Test View Access Control](https://vaadin.com/docs/next/building-apps/testing/browserless/test-view-access.md#quarkus).

`61B2F8E5-448E-4C36-82E3-D492712ECE67`
