When I invoke mvm test
, I want to execute a setup.sql
script before Surefire JUnit is invoked and then execute a teardown.sql
script after.
I know from questions like this how to execute scripts during the test phase, but I have no idea how to define this specific sequence of events. Thank you!
Not with the surefire plugin but with its sibling the failsafe plugin. They both execute Tests but in different life-cycle phases. The surefire plugin in test and the failsafe plugin in integration-test. See life-cycle phases and the default plugin bindings.
The advantage of the failsafe plugin running in the integration test phase is that there are pre- and post- phases.
Since you mention some sql script it seems you want to prepare a database. At that point you are not really doing unit testing anymore but writing an integration test. So using the failsafe plugin makes the most sense here.