You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by gn...@apache.org on 2026/04/28 08:54:25 UTC
(camel-quarkus) branch main updated: Document integration testing constraints in AGENTS.md (#8588)
This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
The following commit(s) were added to refs/heads/main by this push:
new 5cb65455c3 Document integration testing constraints in AGENTS.md (#8588)
5cb65455c3 is described below
commit 5cb65455c37ea3bb2b7f050bc9cb638aa56a1878
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Tue Apr 28 10:54:19 2026 +0200
Document integration testing constraints in AGENTS.md (#8588)
Co-authored-by: Claude Opus 4.6 <no...@anthropic.com>
---
AGENTS.md | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/AGENTS.md b/AGENTS.md
index 1652f63dae..7b10d01d86 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -196,6 +196,12 @@ class KafkaIT extends KafkaTest {
}
```
+### Important Constraints
+
+- **No `@Inject` in `@QuarkusIntegrationTest`**: Integration tests run the application as a separate process, so CDI injection does not work. Expose application state via JAX-RS endpoints (using `quarkus-resteasy`) and assert via RestAssured in tests. See `integration-test-groups/foundation/core/` for the pattern.
+- **Every `@QuarkusTest` needs an IT class**: Each `@QuarkusTest` class must have a corresponding `@QuarkusIntegrationTest` class that extends it, to ensure tests also run in native mode.
+- **Grouped test modules share one native application**: Modules under `integration-test-groups/` are compiled into a single grouped native binary per group. Properties in one module's `application.properties` affect ALL modules in the group. Avoid setting properties that alter global Camel behavior (e.g. `camel.main.duration-max-messages`).
+
## Troubleshooting Native Build Failures
Native compilation with GraalVM requires explicit registration of classes, resources, and proxies. Register these in the deployment module's `*Processor.java` using `@BuildStep` methods. Common patterns: