Spring Boot 2 - H2 Database - @SpringBootTest - Failing on org.h2.jdbc.JdbcSQLException: Table already exists
If the tests are run individually, they pass. I think the problem is due to schema.sql being executed twice against the same database. It fails the second time as the tables already exist.
As a workaround, you could set spring.datasource.continue-on-error=true
in application.properties
.
Another option is to add the @AutoConfigureTestDatabase
annotation where appropriate so that a unique embedded database is used for each test.
There are 2 other possible solutions you could try:
- Add a
drop table if exists [tablename]
in your schema.sql before you create the table. - Change the statement from
CREATE TABLE
toCREATE TABLE IF NOT EXISTS