0

基本構造がsrc/(main | test)/(java | resources)/...のJavaプロジェクトがあります。サーブレット2.5とxml構成のSpringを使用しています。私のBaseDaoTestクラスは次のようになります。

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={
        "classpath:spring/datasource-context.xml",
        ...,
})
@TransactionConfiguration
@Transactional
public abstract class BaseDaoTest extends AbstractTransactionalJUnit4SpringContextTests { }

したがって、私のsrc / main / resources /spring/の下にはファイルdatasource-context.xmlがあります。テストにはインメモリデータベースを使用しているので、src / test / resources/springにもdatasource-context.xmlを取得しました。

約3/4年間、すべてが正常に機能していました。テストコンテキストはsrc/testからロードされ、残りはsrc/mainからロードされます。昨日から(何を変更したのか、何を変更したのかわかりません)、Eclipseですべてのテストを実行するたびに([プロジェクト]->[実行]->[junit ...])、すべてのテストケースが失敗します。src / test/...の代わりにsrc/main/...リソースがロードされていることがわかりました。

誰かが何が起こったのか知っていますか?テスト固有のリソースの名前を変更するだけで機能させることができますが、ローダー(?)がメインオーバーテストをロードするために優先順位を変更した理由に興味があります。単一のテストクラスを実行すると、問題なく動作します。

4

2 に答える 2

1

実行構成の設定が変更された可能性があります。パッケージの実行構成設定を分析し、パッケージを右クリックしてプロパティを選択します。次に、左側の実行/デバッグ設定内にリストされている実行構成を選択します。クラスパスに細心の注意を払う必要があります。クラスパスの順序が変更されたか、ディレクトリがクラスパスに追加または削除された可能性があります。

于 2013-03-22T00:57:39.373 に答える
0

私の同僚は私にある種の大掃除をするように言いました。Eclipse メニューバー: Project -> Clean; mvn eclipse:クリーン; F5; Maven 強制更新; 生成ソースとそうでないもの。など...すべてが正常に機能するようになりました。今まで使ったことのない最も重要な部分は mvn eclipse:clean だと思います。

于 2013-03-22T19:36:53.570 に答える