抽象テスト クラスの次のコードがあります ( XmlBeanFactory
withClassPathResource
が推奨されていないことはわかっていますが、問題が発生する可能性は低いです)。
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration
public abstract class AbstractIntegrationTest {
/** Spring context. */
protected static final BeanFactory context = new XmlBeanFactory(new ClassPathResource(
"com/.../AbstractIntegrationTest-context.xml"));
...
}
デフォルトのテスト構成 XML ファイルをロードしますAbstractIntegrationTest-context.xml
(そして、オートワイヤーを使用します)。@BeforeClass
また、 andで注釈が付けられた静的メソッドで Spring を使用する必要が@AfterClass
あるため、同じ場所を指す別のコンテキスト変数があります。しかし問題は、これは別のコンテキストであり、Bean の異なるインスタンスを持つことです。@ContextConfiguration
では、これらのコンテキストをマージするにはどうすればよいか、または静的コンテキストからによって定義された Spring の Bean 初期化を呼び出すにはどうすればよいでしょうか?
これらの静的メンバーを取り除くことで可能な解決策を念頭に置いていますが、コードに比較的小さな変更を加えて解決できるかどうか、興味があります。