java–DBUnit错误 – 缺少以下bean:[dbUnitDatabaseConnection,dataSource]

java–DBUnit错误 – 缺少以下bean:[dbUnitDatabaseConnection,dataSource],第1张

概述我正在尝试使用DBUnit,从不同的配置文件(不同的项目)加载多个数据库.在我的Foo @Configuration文件中,我有以下bean:@Bean(name='dataSourceFoo') public DataSource dataSourceFoo() { BasicDataSource dataSource = new BasicDat

我正在尝试使用DBUnit,从不同的配置文件(不同的项目)加载多个数据库.

在我的Foo @Configuration文件中,我有以下bean:

@Bean(name="dataSourceFoo")public DataSource dataSourceFoo() {    BasicdataSource dataSource = new BasicdataSource();    ...    return dataSource;}

在我的bar @Configuration文件中,我有以下bean:

@Bean(name="dataSourcebar")public DataSource dataSourcebar() {    BasicdataSource dataSource = new BasicdataSource();    ...    return dataSource;}

在第三个项目中,我的测试文件如下所示:

@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(classes = ThirdProjectAppContextConfig.class)@TestExecutionListeners({ DependencyInjectionTestExecutionListener.class,DirtIEsContextTestExecutionListener.class,TransactionalTestExecutionListener.class,DbUnitTestExecutionListener.class })@DatabaseSetups({        @DatabaseSetup(connection = "dataSourceFoo",value = "classpath:db/FooTest.xml"),@DatabaseSetup(connection = "dataSourcebar",value = "classpath:db/barTest.xml") })@TestPropertySource("/application.propertIEs")@DirtIEsContext@Transactionalpublic class FoobarTest {    @autowired    private Service service;    @Test    public voID test(){        service.callFoobar();        ...    }}

当我运行测试时,它会抛出以下错误

java.lang.IllegalStateException: Unable to find a DB Unit database connection,missing one the following beans: [dbUnitDatabaseConnection,dataSource]    at com.github.springtestdbunit.DbUnitTestExecutionListener.getDatabaseConnectionUsingCommonBeannames(DbUnitTestExecutionListener.java:141)    at com.github.springtestdbunit.DbUnitTestExecutionListener.prepareTestInstance(DbUnitTestExecutionListener.java:112)    at com.github.springtestdbunit.DbUnitTestExecutionListener.prepareTestInstance(DbUnitTestExecutionListener.java:87)    at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:228)    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:217)    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runReflectiveCall(SpringJUnit4ClassRunner.java:276)    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:278)    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runchild(SpringJUnit4ClassRunner.java:236)    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runchild(SpringJUnit4ClassRunner.java:87)    at org.junit.runners.ParentRunner.run(ParentRunner.java:290)    at org.junit.runners.ParentRunner.schedule(ParentRunner.java:71)    at org.junit.runners.ParentRunner.runchildren(ParentRunner.java:288)    at org.junit.runners.ParentRunner.access@DbUnitConfiguration(databaseConnection={"dataSourceFoo","dataSourcebar"})0(ParentRunner.java:58)    at org.junit.runners.ParentRunner.evaluate(ParentRunner.java:268)    at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)    at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)    at org.junit.runners.ParentRunner.run(ParentRunner.java:363)    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:180)    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)

任何人都知道为什么DBunit没有找到连接?最佳答案com.github.springtestdbunit.DbUnitTestExecutionListener.prepareTestInstance(DbUnitTestContextAdapter)正在查找数据库配置,找不到我定义的数据库配置,dbunit默认使用“dataSource”.在测试类上放置以下配置将解决问题:

更多信息,请点击Spring Test DBUnit 总结

以上是内存溢出为你收集整理的java – DBUnit错误 – 缺少以下bean:[dbUnitDatabaseConnection,dataSource]全部内容,希望文章能够帮你解决java – DBUnit错误 – 缺少以下bean:[dbUnitDatabaseConnection,dataSource]所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1260829.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存