1
私は内部クラスとしてbeanクラスを使ってテストを書こうとしています。@BeanがSpringTestingで動作しない内部クラスとして(デフォルトのコンストラクタが見つかりません)
によって引き起こさ:org.springframework.beans.BeanInstantiationException: [com.javarticles.spring.SpringContextConfigurationClassesExample $ BeanA]をインスタンス化に失敗しました:
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(classes={SpringContextConfigurationClassesExample.BeanA.class}) public class SpringContextConfigurationClassesExample { @Autowired private SpringContextConfigurationClassesExample.BeanA beanA; @Test public void verifyBeans() { assertNotNull(beanA); } @Component public class BeanA { public BeanA(){} } }
しかし
は例外を持っている ありませんデフォルトコンストラクタ見つけた。 。 com.javarticles.spring.SpringContextConfigurationClassesExample $ BeanA()
ことが可能であり、このテストを書く方法:ネストされた例外は java.lang.NoSuchMethodExceptionがありますか?
わかりませんが、論理的にはうまくいかないでしょう。 SpringコンテキストをスピンアップしてすべてのBeanとコンポーネントをロードし、次にテストを実行します。ここで関連Beanを作成します。依存関係を満たすことはできません。 – Bobzone
例外を注意深く読んでください - BeanA:デフォルトのコンストラクターが見つかりません。このクラスを質問に貼り付けてください。 –
Andriy、BaenAはSpringContextConfigurationClassesExampleクラスの内部クラスです。 – Vadim