Skip to content

Commit

Permalink
Address leftovers in testing docs from #44685
Browse files Browse the repository at this point in the history
  • Loading branch information
geoand committed Nov 27, 2024
1 parent d99e142 commit 107e4ea
Showing 1 changed file with 9 additions and 19 deletions.
28 changes: 9 additions & 19 deletions docs/src/main/asciidoc/getting-started-testing.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -1241,25 +1241,15 @@ public @interface WithRepeatableTestResource {
While test resources provided by `@QuarkusTestResource` are available either globally or restricted to the annotated test class (`restrictToAnnotatedClass`), the annotation `@WithTestResources` allows to additionally group tests by test resources for execution.
`@WithTestResources` has a `scope` property that takes a `TestResourceScope` enum value:

- `TestResourceScope.MATCHING_RESOURCES` (default) +
Quarkus will group tests with the same test resources and run them together. After a group has been executed, all test resources will be stopped, and the next group will be executed.
- `TestResourceScope.RESTRICTED_TO_CLASS` +
The test resource is available only for the annotated test class and will be stopped after the test class has been executed. This is equivalent to using @QuarkusTestResource with restrictToAnnotatedClass = true.
- `TestResourceScope.GLOBAL` +
The test resource is available globally.
This is equivalent to using `@QuarkusTestResource` with `restrictToAnnotatedClass = false`.

NOTE: `@QuarkusTestResource` is merely a convenient extension of `@WithTestResources` for the use of global test resources

BELOW TO EDIT: +
I don't know the behaviour when different scopes are mixed 🤷‍♂️Example:
```java
@WithTestResources(value = TestResourceA.class, scope = TestResourceScope.MATCHING_RESOURCES)
@WithTestResources(value = TestResourceB.class, scope = TestResourceScope.RESTRICTED_TO_CLASS)
@WithTestResources(value = TestResourceC.class, scope = TestResourceScope.GLOBAL)
class TestClass(){}
```
Also maybe add a use case example for why this annotation got introduced and what for the different scopes are useful, as we currently only use GLOBAL because of time reason.
- `TestResourceScope.MATCHING_RESOURCES` (default): Quarkus will group tests with the same test resources and run them together. After a group has been executed, all test resources will be stopped, and the next group will be executed.
- `TestResourceScope.RESTRICTED_TO_CLASS`: The test resource is available only for the annotated test class and will be stopped after the test class has been executed.
- `TestResourceScope.GLOBAL`: Test resources apply to all tests in the testsuite

Quarkus needs to restart if one of the following is true:

- At least one the existing test resources is restricted to the test class
- At least one the next test resources is restricted to the test class
- Different {@code MATCHING_RESOURCE} scoped test resources are being used

== Hang Detection

Expand Down

0 comments on commit 107e4ea

Please sign in to comment.