gpt4 book ai didi

java - 如何使用现有文本文件进行 JUnit 测试

转载 作者:行者123 更新时间:2023-11-29 10:14:58 25 4
gpt4 key购买 nike

我想对一个操作文本文件内容的类进行单元测试。我有一组现有的文本文件作为测试用例。我如何以及在哪里存储这些将由 JUnit 测试使用的文本文件?

我尝试将它们与单元测试 .Java 文件放在同一目录中并尝试访问它们,但我找不到文件:

File baseFile = new File("base_test.txt");
assertTrue(baseFile.exists());

编辑:根据答案,我尝试使用 ClassLoader 获取文件。文件在那里,但是当我尝试对这些文件使用 InputStream 时,我收到了一个 "Stream Closed" 异常。

我已经尝试从文件和 URL 中获取 InputStream:

    FileInputStream in = new FileInputStream(new File(filename));
...
InputStream in = baseUrl.openStream();

同样的异常(exception)。

最佳答案

您可以将文件放在类路径的根目录中(例如/bin),然后您可以使用流访问它

getClass().getClassLoader().getResourceAsStream("/test.txt")

如果您的类被打包为 jar 文件,这甚至可以工作。

如果您需要访问该文件,您可以使用

File file = new File(getClass().getClassLoader().getResource("/test.txt").toURI());

当然,如果您想将文本文件放在测试类旁边或其他文件夹中,您可以使用

File file = new File(getClass().getClassLoader().getResource("/net/winklerweb/somepackage/test.txt").toURI());

或任何其他路径...

关于java - 如何使用现有文本文件进行 JUnit 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20406153/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com