Hallo an alle!
Ich habe einige JUnit-Testklassen und drei statische Methoden darin sind immer gleich. Nun wäre es wohl angebracht diese Redundanz zu entfernen, aber wie macht man das am Besten?
Das sind die Methoden:
Wie kann ich diese auslagern? Wenn ich vererbe mit einer Oberklasse Test, so findet der Aufruf doSetup() nicht die Methode in der Oberklasse.
Jemand eine Idee?
Danke & Gruss PHANTOMIAS
Ich habe einige JUnit-Testklassen und drei statische Methoden darin sind immer gleich. Nun wäre es wohl angebracht diese Redundanz zu entfernen, aber wie macht man das am Besten?
Das sind die Methoden:
Java:
// Diese Methode soll in der Testklasse bestehen bleiben, hier werden unterschiedliche Dinge getan
@BeforeClass
public static void init() throws Exception {
...
// Aufruf der Methode in der Testklasse
doSetup();
}
private static void doSetup() throws Exception {
final IDatabaseConnection conn = getConnection();
final IDataSet data = getDataSet();
try {
DatabaseOperation.CLEAN_INSERT.execute(conn, data);
} finally {connection.close();}
}
private static IDataSet getDataSet() throws IOException, DataSetException {
return new FlatXmlDataSetBuilder().build(new FileInputStream("database.xml"));
}
private static IDatabaseConnection getConnection() throws ClassNotFoundException, SQLException {
Class.forName("com.mysql.jdbc.Driver");
try {
return new DatabaseConnection(DriverManager.getConnection("jdbc:mysql://localhost/testdb", "root", "passwort"));
} catch (DatabaseUnitException e) {e.printStackTrace();}
return null;
}
Jemand eine Idee?
Danke & Gruss PHANTOMIAS