我在使用 spring junit runner 运行一些测试时遇到了一些问题。
我正在为 spring 使用 Java 配置,所以我似乎找不到适合我的示例。
我要做的就是编写一个 junit 测试,我可以在其中使用我的一个 dao 类,并让它与 hibernate 和所有东西一起工作,但为此我需要将它加载到真正的 spring 上下文中。
我试过这样写我的测试类:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes=HibernateConfig.class, loader=AnnotationConfigContextLoader.class)
public class TestNodeDao {
@Configuration
@ComponentScan(basePackages = "com.orclands" )
static class Config {
@Bean
public NodeDao nd() {
NodeDao nd = new NodeDao();
return nd;
}
}
@Autowired
private NodeDao nd;
但它不能在nodeDao
. 它说NoSuchBeanDefinitionException
。
如果我尝试自动装配NodeDao
,那么它会运行,但是将它作为弹簧测试运行的唯一一点是,我可以测试真正的 spring-configured NodeDao
。
我也试过没有组件扫描,有组件扫描但没有bean声明和其他一些方法,但我无法让它工作。