は私が4つの典型的なソースフォルダと春のプロジェクトを持っています。アプリケーションを実行すると、Springはアプリケーションコンテキストファイルをmain/resources
にフェッチし、Junitテストを実行するとapplication-context.xml
ファイルをtest/resources
にフェッチします。 Springはapplication-context.xml
ファイルを適切にフェッチしますか、それとも何らかの設定が関係していますか?春のアプリケーションコンテキスト - <code>main/src</code>、<code>main/resources</code>、<code>test/src</code>と<code>test/resources</code> - メインとテストフォルダ
答えて
またはStruts
で他のプロジェクトを実行しようとすると、それぞれのフォルダからリソースが選択されます。それは春とは関係がありません。これは、あなたが使用しているMavenや他のビルドシステムの世話をします。
main/src , main/resources , test/src , test/resources
これらのフォルダは、mavenプロジェクトまたはgradleプロジェクトを作成するときに標準で使用されます。
アプリケーションは、アプリケーションコンテキストがどこにあるかをSpringに通知します。 Webアプリケーションは、web.xmlにContextLoaderListenerをコンフィグレーションすることでこれを行います。 アプリケーションのコンテキストがどのように読み込まれるかのテストごとに、@ContextConfigurationアノテーションは、コンテキストがどの場所から読み込まれるか、または注釈付きクラスからロードされる方法を指定します。例えば
私は
@ContextConfiguration(loader = AnnotationConfigContextLoader.class,
classes = MyTest.ContextConfiguration.class)
public class MyTest {
@Autowired MyStuff stuff;
static class ContextConfiguration {
@Bean public MyStuff getMyStuff() {
return new MyStuff();
}
}
}
を使用するようにテストを設定した場合、その後のMyTestはに注入するかを決定するために、テストにアノテーションを使用して、指定されたContextConfigurationを使用して、これらのフィールドに値を設定します。クラスパス内のxml構成は完全に無視されます。
コンテキストローダーは、コンテキストをロードする場所を指定することもできます。org.springframework.test.context.ContextLoaderのドキュメントを参照してください。
使用しているSpringのバージョンがわかりません。 3.0より前のバージョンでは、スプリング認識テストが拡張された階層の一部であったorg.springframework.test.AbstractSpringContextTestsクラスの抽象メソッドloadContextを実装して、テスト・コンテキストを管理しました。
私は、junitが適切なリソースを選ぶ方法について考えています。つまり、リソースをテストリソースフォルダとsrcリソースフォルダに配置するときです。はい、設定ファイルのクラスパスを指定しますが、ソースではなくテストからどのように検索するのですか – Pragnani
また、バネフレームワークを使用せずにスタンドアローンのMavenプロジェクトを実行してみてください。テストリソースとsrcリソースの両方にいくつかのリソースを組み込み、cpにjunitを組み込み、このリソースを使用するテストクラスを作成し、どのリソースjunitがピッキングしているかを調べるためにテストを実行してください。 – Pragnani
@Pragnini:特定の質問は、使用するコンテキスト。春はMavenやIDEで与えられたクラスパス上にあるものにそれを残しません。 –
- 1. PHP <<< OUTとOUT;
- 2. <C:Cを設定し、<:設定とC:春
- 3. <thead><th>と<tbody>
- 4. 春:<map>タグ
- 5. <img>と<object>
- 6. < refと</ref >
- 7. <include>と<merge>
- 8. パート `<`と一部 `<`
- 9. <MailDefinition>と<%%>プレースホルダ
- 10. aspxの<%:と<%=と<%#の違いは何ですか?
- 11. cout << coutとcout <<とcoutの違いは何ですか?
- 12. Heredoc <<<または<<?
- 13. std :: cout << xの間のdiffrenceは何ですか;とstd :: cout << x << std :: endl ;?
- 14. の.htaccessのRewriteRule:</p> <ol> <li><strong>mydomain.com</strong></li> <li><strong>mydomain.cz</strong></li> </ol> <p>:背景のビットと同じサーバとディレクトリ
- 15. connection.Close()とconnection.Dispose()の違いは何ですか? <code>SQLiteDataReader</code>オブジェクトの</p> <ul> <li><code>Close()</code></li> <li><code>Dispose()</code></li> </ul> <p>同じ:
- 16. 外部結合SQLテーブル? ACTIVITY_IDとの間のマッピングをACTIVITY_IDと</p> <ol> <li>アクティビティテーブル、CATEGORY_IDとACTIVITY_TYPE</li> <li>カテゴリーテーブル、カテゴリ名</li> <li>リンクテーブルと</li> </ol> <p>私は必要CATEGORY_ID -
- 17. "位置:絶対":</p> <pre><code><html> <body> <div id="outer"><div id="inner"></div></div> </body> <html> </code></pre> <p>とそのCSS:CSS
- 18. Ubuntuのリダイレクタ "<<<"?
- 19. マウスは、マウスが<code>.wrap</code>、<code>.cube</code>と<code>.front</code>のために働いてではなく、<code>.left</code>、<code>.right</code>、<code>.top</code>、<code>.bottom</code>と<code>.back</code>のためにされ
- 20. なぜ[:] = 1は[:] = '1'と根本的に異なるのですか? <code>a</code>が<code>['1']</code>ある最初のケースで</p> <pre><code>a = [] a[:] = '1' </code></pre><p>と</p> <pre><code>a = [] a[:] = 1 </code></pre><p>:
- 21. Gitは<<<<<<< HEADをファイルに追加し続けます
- 22. サーバーコントロールの<%= %>と<%# %>の使用
- 23. XSDの<all><sequence><choice>との違いは?
- 24. エルム -</p> <pre><code>a : Float </code></pre> <p>方法1が式を正しく</p> <pre><code>Mouse.x - a </code></pre> <p>を書くと考えるシグナルと数字
- 25. オペレータとの整数プロモーション<<
- 26. <li><img src=""></li>とPHPの
- 27. boost :: optionalの比較(<)、出力(<<)と代入(=)
- 28. DjangoのPostgreSQLの、GTおよびLT検索とDateTimeフィールドにフィルタが<code>lt</code>と<code>gt</code>ルックアップとDateTimeフィールドにフィルタリングして
- 29. Ninjectコンテキストは、私は一般的なインタフェース<code>IRepository<T></code>との2つの実装<code>xrmRepository<T></code>と<code>efRepository<T></code></p> <p>を持っているワット/オープンジェネリック
- 30. 私は多対多<code>foo</code>と<code>bar</code>間<code>foo_id</code>と<code>bar_id</code>でテーブル<code>foo_bar</code>としてモデル化を有する1対多のPostgreSQL
私はmavenビルドを実行していませんが、eclipseからjunitを実行しています。 Mavenはこの背後でこれを世話していますか?これはすでに既存のアプリケーションであったため、新しいプロジェクトを作成するときにこの動作を達成するための設定が必要かどうかを確認したいと考えました。 –
@PunterVickyあなたの 'junit'を実行すると' junit'ライブラリはテストフォルダ内のリソースを常に探します。テストを 'Run as-> Junit'として実行すると、IDEはクラスパスのjunitを使ってテスト。 'Junit'はテストフォルダからリソースを選択します – Pragnani
Thanks Pragnani !! –