目的:
テストクラスでは、各々の試験方法は、次の2行のコードを有します。
ApplicationContextのAC =新ClassPathXmlApplicationContext( "bean.xml");
IAccountService AccountServiceの= ac.getBean( "AccountServiceの"、IAccountService.class)。
アクションのこの2行は、あなたがそれを書いていない場合、あなたは直接nullポインタ例外を求めるプロンプトが表示されます、コンテナを得ることです。だから、簡単に削除することはできません。
そのため、使用pom.xmlファイルのインポート依存のスプリングテスト、二つの言葉は、私たちの後の呼び出しを容易にするため、春にフレームにカプセル化することができます。
ステップ:
pom.xmlファイル1.インポートスプリング・コンテキスト。
<! - Springフレームワーク- > < 依存> < groupIdを> org.springframework </ groupIdを> < たartifactId >春コンテキスト</ たartifactId > < バージョン> 5.0.2.RELEASE </ バージョン> spring-とバージョンへのこだわり同じテストのバージョン </ 依存関係>
pom.xmlファイル2.インポートのJUnit。
< 依存> < groupIdを> JUnitの</ groupIdを> < たartifactId > JUnitの</ たartifactId > < バージョン> 4.12 </ バージョン> <! - ここspring5と上記の要件は、バージョン4.12とJUnitでなければならないことに留意すべきです、またはそれはとりません- > < スコープ>テスト</ スコープ> </ 依存関係>
3.インポートスプリング集積JUnitは座標----スプリングテストをpom.xmlファイルに。
< 依存性> < のgroupId > org.springframework </ のgroupId > < たartifactId >春試験</ たartifactId > < バージョン> 5.0.2.RELEASE </ 版> ばねコンテキスト、一貫性のないエラーのバージョンと一致するようにバージョンに注意してください。 </ 依存関係>
4.既存の注釈がランナー置き換え@RunWith
/ ** *テストクラス * @author 若年包囲ライオン * @Version 1.0 * / @RunWith(SpringJUnit4ClassRunner。クラス) パブリック クラスAccountServiceTest { }
5. Spring構成ファイルの場所を指定@ContextConfiguration
/ ** *テストクラス * @author 若年包囲ライオン * @Version 1.0 * / @RunWith(SpringJUnit4ClassRunner。クラス) @ContextConfiguration(位置 = { "CLASSPATH:bean.xml" }) パブリック クラスAccountServiceTest { } @ContextConfiguration注: 場所は属性:設定ファイルの場所を指定します。ショー:パスがクラスである場合は、クラスパス必要 なクラスのプロパティを:注釈は、クラスを指定します。使用しないで、このプロパティが必要なクラスのアノテーション形式の位置を指定するXML構成:@ContextConfig(クラス= Config.class)。
クラス変数に6 @Autowired噴射テストデータ
/ ** *テストクラス * @author 若年包囲ライオン * @Version 1.0 * / @RunWith(SpringJUnit4ClassRunner。クラス) @ContextConfiguration(位置 = { "CLASSPATH:bean.xml" }) パブリック クラスAccountServiceTest { @Autowired プライベートIAccountService AS ; }
質問:なぜテストクラスは、XMLに割り当てられていませんか?
この問題を説明する前に、XMLに割り当てられた最初のリフトみんなの懸念は、それを使用することはできませんか?
その答えは、イエス問題ありません、あなたが使用することができます。
なぜ道を構成するためにXMLを使用していませんか?
その理由はこれです:
最初に:私たちはXMLでBeanを構成し、コンテナを作成するためのスプリング荷重の設定ファイルは、オブジェクトを作成します。
第二:我々は単にテスト関数でクラスをテストし、それがプロジェクトのプログラムロジックに参加していない、それは依頼する必要があり解決することはできません
質問、そう作成し、それを使用しませんでした。その後、コンテナはリソースの無駄になりますがあります。
したがって、上記の2点に基づいて、我々はテスト構成XMLファイルに置くべきではありません。