olk*_*oza 7 java junit temporary-directory
我收到错误"尚未创建临时文件夹",该错误来自方法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);
}
}
Run Code Online (Sandbox Code Playgroud)
您正在使用不支持规则的 JUnit 3 测试。为此,您必须使用 JUnit 4 测试。所以
extends TestCase从类定义中删除。@Test注解添加到所有测试方法(以 test 开头的公共方法。)应该做迁移。之后你必须删除该行
folder = new TemporaryFolder();
Run Code Online (Sandbox Code Playgroud)
从testWriterAndReader.
有关迁移的更多详细信息:自动将测试从 JUnit 3 迁移到 JUnit 4 的最佳方法?
| 归档时间: |
|
| 查看次数: |
5205 次 |
| 最近记录: |