B
bananenkasper
Gast
Hallo zusammen,
Ich habe ein paar Klassen geschrieben, um bestimmte Dateiformate zu schreiben und zu lesen.
Die Dateiformate sind alle Plain-Text, dh. die Basisklasse für alle Reader und Writer schreibt- bzw. liest einen einfachen String.
Ich teste per JUnit und möchte in den Tests nicht wirklich auf Platte schreiben, bzw. von Platte lesen.
Vielmehr würde ich lieber das Lesen-/Schreiben irgendwie mocken.
Meine Frage: How to mock java.io.File?
Ist das überhaupt möglich?
Was nicht funktioniert:
Hierbei wird logischerweise ja die Datei tatsächlich geschreiben...
Das würde ich aber gern vermeiden...
Irgendwelche Ideen?
Viele Grüße
Ich habe ein paar Klassen geschrieben, um bestimmte Dateiformate zu schreiben und zu lesen.
Die Dateiformate sind alle Plain-Text, dh. die Basisklasse für alle Reader und Writer schreibt- bzw. liest einen einfachen String.
Ich teste per JUnit und möchte in den Tests nicht wirklich auf Platte schreiben, bzw. von Platte lesen.
Vielmehr würde ich lieber das Lesen-/Schreiben irgendwie mocken.
Meine Frage: How to mock java.io.File?
Ist das überhaupt möglich?
Was nicht funktioniert:
Java:
@Before
public void setUp() throws Exception {
fileMock = EasyMock.createMock(File.class);
}
@Test
@Ignore("How to mock java.io.File?")
public final void testWriteFile() throws IOException {
EasyMock.expect(fileMock.getPath()).andReturn("bla");
EasyMock.expect(fileMock.exists()).andReturn(true);
EasyMock.expect(fileMock.canRead()).andReturn(true);
EasyMock.expect(fileMock.isFile()).andReturn(true);
EasyMock.replay(fileMock);
new LazyStringWriter("test-string").write(fileMock);
EasyMock.verify(fileMock);
}
Hierbei wird logischerweise ja die Datei tatsächlich geschreiben...
Das würde ich aber gern vermeiden...
Irgendwelche Ideen?
Viele Grüße