📜  将 JUnit 测试中的文件和资源读入 Stream - Java (1)

📅  最后修改于: 2023-12-03 15:39:12.822000             🧑  作者: Mango

将 JUnit 测试中的文件和资源读入 Stream - Java

在编写 JUnit 测试时,我们通常需要读取文件或其他资源信息以用于测试。本文介绍了如何在 JUnit 测试中读取文件和资源内容。

读取文件

我们可以使用 Java 的 FileInputStream 类来读取文件的内容。 在 JUnit 测试中,我们可以通过相对或绝对路径来指定文件。 下面是一个例子:

@Test
public void testReadFile() throws IOException {
    String fileName = "src/test/resources/myfile.txt";
    FileInputStream inputStream = new FileInputStream(fileName);
    String content = IOUtils.toString(inputStream);
    assertEquals("Hello World!", content.trim());
    inputStream.close();
}

代码中,我们使用了 FileInputStream 类来读取 src/test/resources/myfile.txt 文件中的内容,并使用 IOUtils 类将输入流转换为字符串。 在断言中,我们检查文件内容是否与预期值相匹配。

读取资源

在 JUnit 测试中,我们可以使用 ClassLoader 类的 getResourceAsStream 方法来读取资源文件的内容。 这种方式更灵活,因为它可以使用相对路径或在类路径下搜索资源文件。 下面是一个例子:

@Test
public void testReadResource() throws IOException {
    InputStream inputStream = getClass().getResourceAsStream("/myresource.txt");
    String content = IOUtils.toString(inputStream);
    assertEquals("Hello World!", content.trim());
    inputStream.close();
}

代码中,我们使用了 getClass().getResourceAsStream 方法来读取 myresource.txt 文件中的内容,并将其转换为字符串。 在断言中,我们检查文件内容是否与预期值相匹配。请注意,资源的路径以 / 开头。

结论

本文介绍了如何在 JUnit 测试中读取文件和资源内容。 无论是使用 FileInputStream 还是 ClassLoader,这两种方法都是有效的读取方式。