jUnitテスト内でxmlからプロパティをロードする際に問題があります(同じコードはjUnitなしでうまく機能します):
public class InternetMapTest {
private Properties properties;
@Before
public void readProperties() {
try {
ClassLoader loader = ClassLoader.getSystemClassLoader();
InputStream stream = loader.getResourceAsStream("analyse.properties.xml");
properties.loadFromXML(stream);
...
テストを実行すると、
java.lang.NullPointerException
at xxx.yyy.zzz.analyse.tests.InternetMapTest.readProperties(InternetMapTest.java:27)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
...
...
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
残念ながら、このスタック トレースを使用して問題を特定することはできません。まず、ファイルが見つからない(/src/test/resourcesにあります)と思いました。しかし System.out.println(loader.getResource("analyse.properties.xml")); 正しいファイル パスを返します。
誰か助けてくれませんか?
STS 2.9.1 を Maven (プラグイン バージョン 2.3.1 だと思います) で使用し、Ubuntu 12.04 amd64 で jUnit 4.10 を使用しています。
よろしくお願いします。