にある XML ファイルで作業する必要がある単体テストがありますsrc/test/resources/abc.xml
。 ファイルの内容を に取り込む最も簡単な方法は何ですかString
?
ベストアンサー1
ついに私は素晴らしい解決策を見つけました。アパッチコモンズ:
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 を使用しています)。
"abc.xml"
たとえば、 を に置き換えると"/foo/test.xml"
、このリソースがロードされます。src/test/resources/foo/test.xml
使用することもできますサボテン:
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();
}
}