1 テスト クラスの問題と解決策
1.1 問題
1.2 解決策のアイデアの分析
- 上記の問題を考慮すると、プログラムが
コンテナを自動的に作成できることが必要です。 。
- junit は Spring フレームワークが使用されているかどうかを知ることができず、Spring コンテナーを作成できませんが、junit はランナーを置き換えることができるアノテーションを公開します。
- Spring フレームワークによって提供されるランナーに依存する必要があります。構成ファイル (またはアノテーション) を読み取ってコンテナーを作成できます。構成ファイルの場所を伝えるだけで済みます。は。
2 構成手順
2.1 手順 1: junit を統合するために必要な jar パッケージを lib ディレクトリにコピーします
- これなお、jarパッケージをインポートする場合は、Springでaopのjarパッケージをインポートする必要があります。
2.2 ステップ 2: @RunWith アノテーションを使用して元のランナーを置き換えます。
@RunWith(SpringJUnit4ClassRunner.class)
public class AccountServiceTest {
}
ログイン後にコピー
2.3 ステップ 3: @ContextConfiguration を使用します。スプリング構成ファイルの場所
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations= {"classpath:bean.xml"})
public class AccountServiceTest {
}
ログイン後にコピー
- @ContextConfiguration 注:
- locations 属性: 構成ファイルの場所を指定するために使用されます。 。クラスパス上にある場合は、クラスパス: を使用して、アノテーション付きクラスの指定に使用される
- classes 属性を指定する必要があります。 XML 構成を使用しない場合は、この属性を使用してアノテーション クラスの場所を指定する必要があります。
2.4 ステップ 4: @Autowired を使用してテスト クラスの変数にデータを挿入する
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations= {"classpath:bean.xml"})
public class AccountServiceTest {
@Autowired
private IAccountService as ;
}
ログイン後にコピー
3 テスト クラスを xml に割り当てない理由
- 最初: Bean が XML で構成され、Spring が構成ファイルをロードしてコンテナーを作成すると、オブジェクトが作成されます。
- 2 番目: テスト クラスは、関数をテストする場合にのみ使用されます。プロジェクトでは、プログラム ロジックには関与せず、要求の問題は解決されません。そのため、テスト クラスを作成した後、無駄です。容器に保管すると資源の無駄遣いになります。
以上がJava と Spring の間で Junit を統合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。