Hi,
Ich habe zwei Testmethoden, die eine Funktionalität testen, bei der bestimmte Daten aus einer JSON-Datei gelesen und in eine TXT-Datei geschrieben werden. Bei einer der Methoden verwendet die dort zu testende und aufgerufene Methode einen String als Eingabeparameter, die andere einen InputStream.
Während der Test mit dem String problemlos funktioniert, schlägt der Test mit dem InputStream fehl, wenn er mit mvn test ausgeführt wird, obwohl er in der IDE (IntelliJ) erfolgreich ist.
Beide Tests generieren die erwartete Ausgabe, aber der InputStream-Test schlägt in der Kommandozeile fehl. Hier sind die relevanten Codesnippets:
Mit InputStream:
Mit String:
Hat Jemand schon mal diesen Fall gehabt und hat folglich eine Idee.
Der Log hilft nicht wirklich weiter - es gibt eine MojoFailureException und im sure-fire reports-Ordner wird gesagt, dass die assertion failt, aber die erwartete Ausgabe ist korrekt und wie gesagt, die Testausführung failt nur mittels 'mvn test' - in der IDE gibt es keine Probleme.
Ohne mehr Infos ist dieser Thread sicherlich ein "Schuß ins Blaue" - aber möglicherweise hatte hier Jemand schonmal genau dieses Problem bzw. diese "Anomalie" und kann weiterhelfen.
Lg,
Zrebna
Ich habe zwei Testmethoden, die eine Funktionalität testen, bei der bestimmte Daten aus einer JSON-Datei gelesen und in eine TXT-Datei geschrieben werden. Bei einer der Methoden verwendet die dort zu testende und aufgerufene Methode einen String als Eingabeparameter, die andere einen InputStream.
Während der Test mit dem String problemlos funktioniert, schlägt der Test mit dem InputStream fehl, wenn er mit mvn test ausgeführt wird, obwohl er in der IDE (IntelliJ) erfolgreich ist.
Beide Tests generieren die erwartete Ausgabe, aber der InputStream-Test schlägt in der Kommandozeile fehl. Hier sind die relevanten Codesnippets:
Mit InputStream:
Java:
public void generateDataTestWithInputStream() throws IOException {
final File file = new File("output.txt");
try (OutputStreamWriter outputStreamWriter = new OutputStreamWriter(new FileOutputStream(file), StandardCharsets.UTF_8);
PrintWriter out = new PrintWriter(outputStreamWriter)) {
final InputStream inputStream = getClass().getResourceAsStream("/input.json");
myGeneratorClass.generateData(inputStream, out);
}
final String outputStringExpected = readFileToString(new File("output.txt"));
assertEqualsIgnoreNewLines(outputStringExpected, readFileToString(file));
}
Mit String:
Java:
public void generateDataTestWithString() throws IOException {
final File file = new File("output.txt");
try (OutputStreamWriter outputStreamWriter = new OutputStreamWriter(new FileOutputStream(file), StandardCharsets.UTF_8);
PrintWriter out = new PrintWriter(outputStreamWriter)) {
final String jsonString = readFileToString(new File("input.json"));
myGeneratorClass.generateData(jsonString, out);
}
final String outputStringExpected = readFileToString(new File("output.txt"));
assertEqualsIgnoreNewLines(outputStringExpected, readFileToString(file));
}
Hat Jemand schon mal diesen Fall gehabt und hat folglich eine Idee.
Der Log hilft nicht wirklich weiter - es gibt eine MojoFailureException und im sure-fire reports-Ordner wird gesagt, dass die assertion failt, aber die erwartete Ausgabe ist korrekt und wie gesagt, die Testausführung failt nur mittels 'mvn test' - in der IDE gibt es keine Probleme.
Ohne mehr Infos ist dieser Thread sicherlich ein "Schuß ins Blaue" - aber möglicherweise hatte hier Jemand schonmal genau dieses Problem bzw. diese "Anomalie" und kann weiterhelfen.
Lg,
Zrebna