26

次の抽象クラスを使用して、src/test/resources クラスパスに春の構成ファイルをロードしようとしました。

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:/applicationContext.xml"})
public class BaseIntegrationTests {

}

src/test/resources に applicationContext.xml ファイルがありますが、Spring で読み込めません。

ありがとうございました。

4

7 に答える 7

26

正確には、クラスパス上にあるテスト出力ディレクトリ( ) の内容であり、 ではありません。ただし、下のリソースはゴールによってテスト出力ディレクトリにコピーされます (デフォルトではフェーズにバインドされています)。target/test-classessrc/test/resourcessrc/test/resourcesresources:testResourcesprocess-test-resources

そうは言っても、コードは問題なく見え、テスト ソース コードのリソースは、テストの実行時に IDE または Maven によってコピーされているはずであり、クラス パスで使用できるはずです。ですから、他に何か問題があるはずです。あなたのクラスは統合テストの基本クラスであることがわかります。pom に凝ったものを設定しましたか? あなたはそれを示すことができますか?

于 2010-04-09T12:36:58.880 に答える
6

JUnit> 4.4のバージョンでspring-test依存関係(SpringJUnit4ClassRunnerを含む)を使用すると、バグが報告されています。

4.4より新しいバージョンのJUnitを使用している場合は、それを4.4に下げて、問題が解決するかどうかを確認してください。

于 2010-05-21T19:30:54.883 に答える
4

アプリケーション コンテキストをクラスパスに含め、 * を配置する必要があります。

@ContextConfiguration(locations = { "classpath:*/application-context.xml" })
于 2014-05-14T08:52:55.303 に答える
2

Maven を使用しているようで、Eclipse 内からテストを実行しようとしています。のビルド フォルダ ( target/test-classes/) を確認しますapplicationContext.xml。そこにない場合は、最初にビルドする必要があります。

于 2010-04-09T05:48:38.200 に答える
0

同様の問題があると思います.application-context.xmlがsrc/test/resourcesのtarget/test-classes/neighterにないことがわかりました

于 2010-11-15T19:28:15.610 に答える