01: package org.dbunit;
02:
03: import org.slf4j.Logger;
04: import org.slf4j.LoggerFactory;
05:
06: import org.dbunit.database.IDatabaseConnection;
07:
08: /**
09: * Base testCase for database testing.<br>
10: * Subclasses may override {@link newDatabaseTester()} to plug-in a different implementation
11: * of IDatabaseTester.<br> Default implementation uses a {@link PropertiesBasedJdbcDatabaseTester}.
12: *
13: * @author Felipe Leme <dbunit@felipeal.net>
14: */
15: public abstract class DBTestCase extends DatabaseTestCase {
16:
17: /**
18: * Logger for this class
19: */
20: private static final Logger logger = LoggerFactory
21: .getLogger(DBTestCase.class);
22:
23: public DBTestCase() {
24: super ();
25: }
26:
27: public DBTestCase(String name) {
28: super (name);
29: }
30:
31: protected IDatabaseConnection getConnection() throws Exception {
32: logger.debug("getConnection() - start");
33:
34: final IDatabaseTester databaseTester = getDatabaseTester();
35: assertNotNull("DatabaseTester is not set", databaseTester);
36: return databaseTester.getConnection();
37: }
38:
39: /**
40: * Creates a new IDatabaseTester.
41: * Default implementation returns a {@link PropertiesBasedJdbcDatabaseTester}.
42: */
43: protected IDatabaseTester newDatabaseTester() throws Exception {
44: logger.debug("newDatabaseTester() - start");
45:
46: return new PropertiesBasedJdbcDatabaseTester();
47: }
48:
49: }
|