Einfacher HSQL-Unit Test zum Aufsetzen eines Schemas mit SQL-Dateien

Der Unit-Test ist eine Abstrakte Testklasse, die u.a. das Aufsetzen eines DB-Schemas sowie das Droppen des selbigen innerhalb der setUp() bzw. tearDown() Methode unterstützt.

Weiterhin bietet die Klasse eine Möglichkeit, ein DB Schema in einen Writer zu printen.

Der Test ist ideal geeignet , SmokeTests für JPA-Projekte durchzuführen, weil man so die Korrektheit der Mappings auf sehr einfache Art und Weise testen kann.

Das Projekt ist als Maven-Projekt aufgesetzt und in GitHub gehostet : http://github.com/dilgerma/TestUtil/network

Das auschecken geht auf sehr einfache Weise über

git remote add TestUtil git@github.com:dilgerma/TestUtil.git
git pull TestUtil

oder

git clone git@github.com:dilgerma/TestUtil.git

Das Maven-Projekt kann über folgende Dependency eingebunden werden:

<dependency>
<groupId>de.md</groupId>
<artifactId>testutil</artifactId>
<scope>test</scope>
</dependency>

Um den Testcase zu nutzen kann einfach von der Klasse AbstractDatabaseTestcase abgeleitet werden,
folgende Methoden müssen hierfür überschrieben werden (Auszug Javadoc)
* You need to implement the following Methods in order to set up
* the Testcase correctly:
* {@link #getDatabaseProperties()} returns the Path to a Properties File, which contains
* all needed Properties to set up an EntityManager, e.g.
*
* hibernate.connection.username = sa
* hibernate.connection.password =
* hibernate.connection.url = jdbc:hsqldb:mem:mydatabase“
* hibernate.connection.driver_class=org.hsqldb.jdbcDriver
* hibernate.dialect=org.hibernate.dialect.HSQLDialect
*
* {@link #getSqlSetUpScript()} – Path to an sql script which contains the sql-statements to
* set up the db schema (e.g. create table demo…)
* {@link #getSqlTearDownScript()} – Path to an sql script which contains the sql-statements to tear down
* a schema (e.g. drop table…)

Anschliessend ist sichergestellt, dass für jeden Testcase das Datenbankschema komplett neu aufgesetzt wird.

Viel Spass damit!!

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s