How to execute scripts before and after SureFire t

2019-08-23 10:30发布

问题:

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!

回答1:

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.