Class DbUnitEmbeddedDatabaseExtension
- java.lang.Object
-
- com.github.mjeanroy.dbunit.integration.spring.jupiter.DbUnitEmbeddedDatabaseExtension
-
- All Implemented Interfaces:
org.junit.jupiter.api.extension.AfterAllCallback
,org.junit.jupiter.api.extension.AfterEachCallback
,org.junit.jupiter.api.extension.BeforeAllCallback
,org.junit.jupiter.api.extension.BeforeEachCallback
,org.junit.jupiter.api.extension.Extension
,org.junit.jupiter.api.extension.ParameterResolver
public class DbUnitEmbeddedDatabaseExtension extends Object implements org.junit.jupiter.api.extension.BeforeAllCallback, org.junit.jupiter.api.extension.AfterAllCallback, org.junit.jupiter.api.extension.BeforeEachCallback, org.junit.jupiter.api.extension.AfterEachCallback, org.junit.jupiter.api.extension.ParameterResolver
A simple and easy-to-use integration between DbUnit and springEmbeddedDatabase
.
This extension will:- Start and shutdown an
EmbeddedDatabase
before all/after all tests (seeEmbeddedDatabaseExtension
). - Manager DbUnit dataset (see
DbUnitExtension
).
EmbeddedDatabaseExtension
andDbUnitExtension
internally, so there is not need to use also these extensions here.
This extension can be used usingExtendWith
orRegisterExtension
.
For example:
This extension can also be used with@DbUnitDataSet("/dataset") @DbUnitSetup(DbUnitOperation.CLEAN_INSERT) @DbUnitTearDown(DbUnitOperation.TRUNCATE_TABLE) class MyDaoTest { @RegisterExtension static EmbeddedDatabaseExtension extension = new EmbeddedDatabaseExtension( new EmbeddedDatabaseBuilder() .generateUniqueName(true) .addScript("classpath:/sql/init.sql") .addScript("classpath:/sql/data.sql") .build() ); @Test void test1(EmbeddedDatabase db) throws Exception { Assertions.assertEquals(count(db.getConnection()), 2); } }
EmbeddedDatabaseConfiguration
to configure the embedded database to use during tests:@EmbeddedDatabaseConfiguration(generateUniqueName = true, scripts = "classpath:/sql/init.sql") @DbUnitDataSet("/dataset") @DbUnitSetup(DbUnitOperation.CLEAN_INSERT) @DbUnitTearDown(DbUnitOperation.TRUNCATE_TABLE) class MyDaoTest { @Test void test1(EmbeddedDatabase db) throws Exception { Assertions.assertEquals(count(db.getConnection()), 2); } }
-
-
Constructor Summary
Constructors Constructor Description DbUnitEmbeddedDatabaseExtension()
Create extension with default database or usingEmbeddedDatabaseConfiguration
settings.DbUnitEmbeddedDatabaseExtension(org.springframework.jdbc.datasource.embedded.EmbeddedDatabase db)
Create extension with givenEmbeddedDatabase
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
afterAll(org.junit.jupiter.api.extension.ExtensionContext context)
void
afterEach(org.junit.jupiter.api.extension.ExtensionContext context)
void
beforeAll(org.junit.jupiter.api.extension.ExtensionContext context)
void
beforeEach(org.junit.jupiter.api.extension.ExtensionContext context)
Object
resolveParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)
boolean
supportsParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)
-
-
-
Constructor Detail
-
DbUnitEmbeddedDatabaseExtension
public DbUnitEmbeddedDatabaseExtension()
Create extension with default database or usingEmbeddedDatabaseConfiguration
settings.
-
DbUnitEmbeddedDatabaseExtension
public DbUnitEmbeddedDatabaseExtension(org.springframework.jdbc.datasource.embedded.EmbeddedDatabase db)
Create extension with givenEmbeddedDatabase
.- Parameters:
db
- Embedded database.- Throws:
NullPointerException
- Ifdb
isnull
.
-
-
Method Detail
-
beforeAll
public void beforeAll(org.junit.jupiter.api.extension.ExtensionContext context)
- Specified by:
beforeAll
in interfaceorg.junit.jupiter.api.extension.BeforeAllCallback
-
afterAll
public void afterAll(org.junit.jupiter.api.extension.ExtensionContext context)
- Specified by:
afterAll
in interfaceorg.junit.jupiter.api.extension.AfterAllCallback
-
beforeEach
public void beforeEach(org.junit.jupiter.api.extension.ExtensionContext context)
- Specified by:
beforeEach
in interfaceorg.junit.jupiter.api.extension.BeforeEachCallback
-
afterEach
public void afterEach(org.junit.jupiter.api.extension.ExtensionContext context)
- Specified by:
afterEach
in interfaceorg.junit.jupiter.api.extension.AfterEachCallback
-
supportsParameter
public boolean supportsParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws org.junit.jupiter.api.extension.ParameterResolutionException
- Specified by:
supportsParameter
in interfaceorg.junit.jupiter.api.extension.ParameterResolver
- Throws:
org.junit.jupiter.api.extension.ParameterResolutionException
-
resolveParameter
public Object resolveParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws org.junit.jupiter.api.extension.ParameterResolutionException
- Specified by:
resolveParameter
in interfaceorg.junit.jupiter.api.extension.ParameterResolver
- Throws:
org.junit.jupiter.api.extension.ParameterResolutionException
-
-