Я получаю сообщение об ошибке «временная папка еще не создана», которая возникает из-за IllegalStateException
, выданного методом TemporaryFolder.getRoot()
. Похоже, что он не инициализирован, но мое исследование показало мне, что это обычно бывает, когда временная папка инициализируется в методе setUp (). Но, на мой взгляд, использование его с @Rule
, как я, должно сработать. Любые идеи?
Тестовый класс
public class FileReaderTest extends TestCase {
@Rule
public TemporaryFolder folder = new TemporaryFolder();
public FileReaderTest(String testName) {
super(testName);
}
@Override
protected void setUp() throws Exception {
super.setUp();
}
@Override
protected void tearDown() throws Exception {
super.tearDown();
}
public void testCSVWriterAndReader() throws Exception{
testWriterAndReader(new CSVFileWriter(), new CSVFileReader());
}
private void testWriterAndReader(FileWriteService writer, FileReader reader) throws Exception {
folder = new TemporaryFolder();
File tempFile = folder.newFile("test.csv");
DataSet initializedData = createMockData();
writer.writeDataSetToFile(initializedData, tempFile.getPath());
DataSet readData = reader.getDataFromFile(new FileInputStream(tempFile));
assertEquals(initializedData, readData);
}
}