@Bean作为内部类在SpringTesting中不起作用(找不到默认构造函数)

时间:2017-12-15 13:03:04

标签: spring unit-testing inner-classes

我试图用bean类作为innerClasses编写测试。

@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(){}
    }
}

但有一个例外:

  

引起:org.springframework.beans.BeanInstantiationException:   无法实例化   [com.javarticles.spring.SpringContextConfigurationClassesExample $ BeanA]:   找不到默认构造函数;嵌套异常是   java.lang.NoSuchMethodException:   com.javarticles.spring.SpringContextConfigurationClassesExample $ BeanA。()

是否可以以及如何编写此测试?

1 个答案:

答案 0 :(得分:0)

使用静态嵌套类代替成员内部类。

@Component
    static public class BeanA {
        public BeanA(){}
    }