1

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 を使用しています。

よろしくお願いします。

4

1 に答える 1

1

変数「プロパティ」は null の場合があります。ロード関数を呼び出す前に作成する必要があります。

于 2012-07-07T09:34:31.287 に答える