他のプログラマーが作成したプログラムでJUnit + JMockを実行するタスクを与えました。クラスのほとんどはすなわち、この静的フィールドロガーを持っている:jUnit + jMockとlog4j
static Log logger = LogFactory.getLog(SomeClass.class.getName());
私は私のsetUp()
メソッドの内部で、それをインスタンス化することによって工assのインスタンスを作成しています。私は、このエラーメッセージを取得しています、私のJUnitのクラスを実行すると:
log4j:ERROR setFile(null,true) call failed.
java.io.FileNotFoundException: (No such file or directory)
は私がsetUp()
メソッド内DOMConfigurator.configure("log4j.xml");
を呼び出すことにより、手動のlog4jコンフィギュレーションを実行しようとしましたが、私はまだ上記の同じエラーメッセージを取得しています。
質問です:
- は、どのように私は自分のユニットテストを実行+ LogFactory.getLogに
- を使用して、他のクラスを呼び出すクラスのモックすることができます私は私のセットアップメソッド内のlog4jを設定する必要がありますので、嘲笑と単体テストは例外なく実行されますか?
- どうすればよいですか?
応答ありがとうAndrew。私はjMockに固執する必要があるPowerMockを使用するオプションがありません。 log4j.xmlを使用すると、xmlバージョンの代わりにプロパティファイルを使用するとDOMConfigurator.configureが機能しますか? – Zorlac
みんな、私は私の問題を解決しました。応答していただきありがとうございます。 – Zorlac