Skip to content

Improve documentation about QuarkusTest*Callback #52572

@labmonkey

Description

@labmonkey

Description

Hello,
I wanted to suggest some improvements of the documentation about QuarkusTest*Callback

  1. It does not mention that there is also QuarkusTestAfterAllCallback
  2. There is QuarkusTestBeforeClassCallback but no QuarkusTestAfterClassCallback? And then there is QuarkusTestAfterAllCallback but no QuarkusTestBeforeAllCallback. Or maybe that was on purpose and the QuarkusTestBeforeClassCallback and QuarkusTestAfterAllCallback and equivalent of JUnit @BeforeAll and @AfterAll? if so then why one event is called Class and other All? (In old JUnit there was @BeforeClass so maybe thats why, but in jupiter it was removed). I think it would be best to keep the naming the same and to not use Class just to not make it confusing when compared to JUnit equivalents.
  3. If what I wrote above is wrong and QuarkusTestBeforeClassCallback and QuarkusTestAfterAllCallback are not similar events then what exactly is QuarkusTestAfterAllCallback? After all of what? all methods in test? all tests? This leads me to another suggestion because there are also other callbacks such as QuarkusTestBeforeTestExecutionCallback. What is TestExecution in this case? Is this happening before/after each @Test, each @QuarkusTest or maybe all of the tests? This is not clear in documentation.

As you can see my point is that it would be great if there would be more description of what kind of events are all of those exactly, when are they triggered and what is their triggering order when compared to each other (for ex. I suppose BeforeClass would happen before BeforeEach etc. but does BeforeClass trigger before AfterConstruct?).

And my last suggestion would be to mention what is actually the difference between using QuarkusTest*Callback and the JUnit own Callback interfaces. Because I could think that they serve exactly the same purpose but in the end JUnit callbacks take less effort (no need to register in service provider) but maybe there is a difference?

Implementation ideas

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/housekeepingIssue type for generalized tasks not related to bugs or enhancements

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions