Ich beginne in letzter Zeit mit DbUnit und ich versuche einen sehr einfachen Integrationstest zu schreiben, nur um eine Tabelle mit 3 Zeilen zu füllen. Beim Lesen der DbUnit Getting Started Guide wird mir gesagt, dass ich eine Dataset-Datei erstellen soll. Mein Dataset XML-Datei sieht genauso aus wie folgt aus:JUnit + DbUnit - Kein Test gefunden beim Erweitern von DatabaseTestCase
<dataset>
<notaFiscal cliente="Cliente 1" valor="26.5" data='2016-04-04'/>
<notaFiscal cliente="Cliente 2" valor="30.5" data='2016-05-01'/>
<notaFiscal cliente="Cliente 3" valor="28.2" data='2015-08-11'/>
</dataset>
Dann habe ich eine Testklasse zu schaffen, die meine Prüfverfahren DBTestCase
und implementieren erstreckt (kommentierten mit @Test
, wie jeder andere JUnit-Testfall). Die Klasse I wird wie folgt erstellt:
public class GerenciadorNFTest extends DBTestCase {
private GerenciadorNotaFiscal gerenciador = new GerenciadorNotaFiscal();
public GerenciadorNFTest(String name)
{
super(name);
// PBJDT is an abbreviation of PropertiesBasedJdbcDatabaseTester
// just for a better visualization
System.setProperty(PBJDT.DBUNIT_DRIVER_CLASS,
"org.postgresql.Driver");
System.setProperty(PBJDT.DBUNIT_CONNECTION_URL,
"jdbc:postgresql://localhost:5432/dbunit");
System.setProperty(PBJDT.DBUNIT_USERNAME, "postgres");
System.setProperty(PBJDT.DBUNIT_PASSWORD, "123456");
}
protected IDataSet getDataSet() throws Exception {
IDataSet dataSet = new FlatXmlDataSetBuilder().build(
new FileInputStream("notas_fiscais.xml"));
return dataSet;
}
@Test
public void geraPedido() {
Pedido p = new Pedido("Diogo", 26d, 5);
gerenciador.gera(p);
NotaFiscal notaFiscal = gerenciador.recupera("Diogo");
Assert.assertEquals(notaFiscal.getCliente(), "Diogo");
}
}
Danach habe ich versucht, den Testfall zu laufen, aber bekam die folgende Fehlermeldung:
junit.framework.AssertionFailedError: No tests found in teste.GerenciadorNFTest
at junit.framework.Assert.fail(Assert.java:57)
at junit.framework.TestCase.fail(TestCase.java:227)
Wenn ich versuchte, die extend DBTestCase
, JUnit erkennen, den Test zu entfernen Fall und läuft normal, aber mit der Erweiterung hat es nicht. Ich habe versucht zu säubern und neu zu kompilieren, aber es hat nicht funktioniert. Ich habe auch versucht, den Test außerhalb der IDE, die ich benutze (Intellij Idea), auszuführen, aber wiederum hatte ich keinen Erfolg.
Hat jemand das gleiche Problem durchgemacht? Vielen Dank im Voraus. Jede Hilfe wird geschätzt.
Danke! Es funktionierte mit einem IDatabaseTester. :) –