0

src / test/resourcesにあるファイルを参照する単体テストを作成しました。コードは次のようになります。

private static final String TEST_FILE = MyClass.class.getResource("").getPath() + "myfile.properties";

通常のJUnitRunnerを使用してEclipse内でこのテストを実行すると、すべてが正常に機能します。しかし、ECL Emmaを使用してこのテストを実行すると、テストは失敗します。

いくつかの調査の後、実行ディレクトリが異なることがわかりました。ECL Emmaには独自の出力フォルダーがあり、必要なすべてのリソースをコピーしてからテストを実行します。しかし、それは私のテストファイルをコピーしません。これを修正する方法がわかりません。誰かが私を助けてくれることを願っています。

4

1 に答える 1

2

ここで説明されているように、インプレース インストルメンテーションを使用できます。

http://www.eclemma.org/userdoc/launching.html

エマはクラスパスに影響を与えたり、クラスファイルをコピーしたりしません。

もう 1 つの方法は、リソースを別のリソース フォルダー (src/ ではなく) に保持し、このフォルダーをクラスパスに追加することです。

File を InputStream として取得する方がよいでしょう。

  InputStream inStream = MyClass.class.getResourceAsStream("/myfile.properties");
于 2011-04-07T09:25:23.757 に答える