私はspring(SpringJUnit4ClassRunnerと@ContextConfiguration)を使ってテストを行っています。テストは並行して実行されます。 私の豆の一部はシングルトンで、テストのスコープ「スレッド」に入るように変更したいと思います。私はそれぞれのテストが独自のBeanのインスタンスを持つことを望みます。テスト中に多くのSpring Beanのスコープを変更する
私は、applicationContext.xmlファイルと、テストに使用されるapplicationTestContext.xmlファイルを用意して管理しました。 applicationTestContext.xmlでは、スコープ「thread」を持つBeanを定義します。
この問題は、そのタイプの新しいBeanを追加するたびに、applicationContext.xmlとapplicationTestContext.xmlの両方に追加する必要があります。これはかなり面倒です。 ボイラープレートを少なくしてやる方法はありますか?
あなたのアプリはシングルスレッドアプリケーションですか?そうでなければ、Beanはあなたのアプリでも並行して使われるので、あなたのテストでも並行して使うことができるはずです。または私は何かを逃していますか? –
テストは、setUpおよびtearDownでBeanの状態をリセットします。これはテストには役立ちますが、アプリで何か起こることはありません。このため、テストで同じインスタンスを共有したくないのです。 – davidbrai
OK。理解しています。 –