package org.dicadeveloper.weplantaforest.common.testSupport; import org.flywaydb.core.Flyway; import org.junit.rules.ExternalResource; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.stereotype.Component; /** * Cleans (mysql) database between tests. */ @Component @SpringBootTest public class CleanDbRule extends ExternalResource { public final static String X = ""; @Autowired(required = false) private Flyway _flyway; @Override protected void before() throws Throwable { if (_flyway != null) { _flyway.clean(); _flyway.migrate(); } else { // flyway is only enabled for mysql, but not for h2! But for // h2-memory u can wipe out db via: // "@DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD)" } } }