Hallo,
JUnit4 soll ja so einfach sein. Ich versteh's aber nicht. Ich habe eine Klasse so wie diese ...
Nun ist das so, dass zuerst die init()-Methode von JUnit abgearbeitet wird. Leider habe ich gesehen, dass die Variable config1 zwar gefüllt wird, aber die Zuweisung nicht klappt. test.config ist null und somit gibt es eine NullPointerException, wenn JUnit testRun() ausführt. Wenn ich allerdings test.testRun() (Zeile 54) selbst in der init()-Methode aufrufe, läuft der Test super und danach kommt die NullPointerException, wenn JUnit selbst die testRun() ausführt.
Mein Frage: Warum?
Ich habe da irgendwo einen Denkfehler, und finde ihn nicht. "In diesem Bild ist ein Fehler versteckt, kannst du ihn finden?"
Ciao, micbur
JUnit4 soll ja so einfach sein. Ich versteh's aber nicht. Ich habe eine Klasse so wie diese ...
Code:
// Imports
public class FileTest {
private TestConfig config;
private File logPath = new File("path/to/dir");
private File tempPath = null;
// einige Hilfsmethoden
@Test public void testRun() {
// Deklarationen
File file ...
// Definitionen
file = new File(...);
...
for (fileArrayIterator = this.config.getFileIterator(); fileArrayIterator.hasNext(); ) {
...
// Tests
try {
// lesen aus der Config und Tests ausführen; mit asserts
}
catch (Exception e) {
...
}
}
}
private void setConfig(TestConfig conf) {
this.config = conf;
}
@Before public void init() {
// da nicht mehr von TestFiles geerbt wird, werden die Variablen hier deklariert
FileTest test;
TestConfig config1 = new TestConfig();
config1.setDir(new String[]{"path/to/file"}, null);
config1.setRepetitions(30);
...
// erster Test
test = new FileTest(config1);
test.setConfig(config1); // eigentlich überflüssig
// test.testRun();
}
public FileTest() {}
public FileTest(TestConfig config) {
this.config = config;
}
}
Nun ist das so, dass zuerst die init()-Methode von JUnit abgearbeitet wird. Leider habe ich gesehen, dass die Variable config1 zwar gefüllt wird, aber die Zuweisung nicht klappt. test.config ist null und somit gibt es eine NullPointerException, wenn JUnit testRun() ausführt. Wenn ich allerdings test.testRun() (Zeile 54) selbst in der init()-Methode aufrufe, läuft der Test super und danach kommt die NullPointerException, wenn JUnit selbst die testRun() ausführt.
Mein Frage: Warum?
Ich habe da irgendwo einen Denkfehler, und finde ihn nicht. "In diesem Bild ist ein Fehler versteckt, kannst du ihn finden?"
Ciao, micbur