Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposal: Decoupling QuarkusIntegrationTest from JUnit Jupiter #44420

Open
rmanibus opened this issue Nov 11, 2024 · 2 comments
Open

Proposal: Decoupling QuarkusIntegrationTest from JUnit Jupiter #44420

rmanibus opened this issue Nov 11, 2024 · 2 comments
Labels
area/testing kind/enhancement New feature or request

Comments

@rmanibus
Copy link
Contributor

rmanibus commented Nov 11, 2024

Description

Summary
Currently, the QuarkusIntegrationTest functionality is closely tied to the JUnit Jupiter TestEngine, which limits its flexibility. Ideally, the integration test logic should be more modular to support other testing platforms.

Context

I am working with the CucumberTestEngine for integration tests, but the current setup makes it challenging to use with QuarkusIntegrationTest. The workaround in the Quarkiverse Cucumber extension, which hooks Cucumber into Jupiter using dynamic tests instead of leveraging Cucumber’s native TestEngine, demonstrates the limitations of this approach. While this workaround technically enables testing with Cucumber, it is cumbersome, requires substantial additional code, and doesn't scale well.

Implementation ideas

Create a QuarkusIntegrationTestManager class to handle the core integration test lifecycle independently from any specific test engine.

The class could expose the following static methods:

start(): Initializes and starts the Quarkus application for integration testing.
stop(): Stops the Quarkus application after integration testing completes.

@rmanibus rmanibus added the kind/enhancement New feature or request label Nov 11, 2024
Copy link

quarkus-bot bot commented Nov 11, 2024

/cc @geoand (testing)

@geoand
Copy link
Contributor

geoand commented Nov 12, 2024

If someone is willing to do the work on this, I am certainly open to having it in.

But I am pretty sure it will be more work than just creating the QuarkusIntegrationTestManager with the methods described.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/testing kind/enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants