如何将文本文件资源读入Java单元测试? [英] How to read a text-file resource into Java unit test?

查看:95
本文介绍了如何将文本文件资源读入Java单元测试?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个单元测试需要使用位于 src / test / resources / abc.xml 中的XML文件。将文件内容转换为 String 的最简单方法是什么?

I have a unit test that needs to work with XML file located in src/test/resources/abc.xml. What is the easiest way just to get the content of the file into String?

推荐答案

最后,我找到了一个简洁的解决方案,感谢 Apache Commons

Finally I found a neat solution, thanks to Apache Commons:

package com.example;
import org.apache.commons.io.IOUtils;
public class FooTest {
  @Test 
  public void shouldWork() throws Exception {
    String xml = IOUtils.toString(
      this.getClass().getResourceAsStream("abc.xml"),
      "UTF-8"
    );
  }
}

完美无缺。文件 src / test / resources / com / example / abc.xml 已加载(我正在使用Maven)。

Works perfectly. File src/test/resources/com/example/abc.xml is loaded (I'm using Maven).

如果你用/ foo / test.xml替换abc.xml,这个将加载资源: src / test / resources / foo / test.xml

If you replace "abc.xml" with, say, "/foo/test.xml", this resource will be loaded: src/test/resources/foo/test.xml

您还可以使用 Cactoos

package com.example;
import org.cactoos.io.ResourceOf;
import org.cactoos.io.TextOf;
public class FooTest {
  @Test 
  public void shouldWork() throws Exception {
    String xml = new TextOf(
      new ResourceOf("/com/example/abc.xml") // absolute path always!
    ).asString();
  }
}

这篇关于如何将文本文件资源读入Java单元测试?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆