【问题标题】:Spring Controller Integration Testing with DB Unit使用 DB 单元进行 Spring 控制器集成测试
【发布时间】:2013-01-04 23:39:38
【问题描述】:

我正在为我的休息控制器创建集成测试用例。我想用dbunit来测试数据库层。

这是我的测试类骨架设置

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes= {IntegrationTestApplicationContext.class})
@TestExecutionListeners({ DependencyInjectionTestExecutionListener.class,
                          DbUnitTestExecutionListener.class })
public class TestServiceControllerIntegrationTest {
    private MockMvc mockMvc;    

    @Test
    public void testSearch(){       
    }
}

运行这段代码给我这个错误

Results :

Tests in error:
initializationError(test.controllers.rest.TestServiceControllerIntegrationTest): 
org/dbunit/operation/DatabaseOperation

Tests run: 1, Failures: 0, Errors: 1, Skipped: 0

下面是 IntegrationTestApplicationContext.java 的样子

@Configuration
@PropertySource("classpath:application.properties")
public class IntegrationTestApplicationContext {

    @Resource
    private Environment environment;

    @Bean
    public DataSource dataSource() {
        BoneCPDataSource dataSource = new BoneCPDataSource();

        dataSource.setDriverClass(environment.getRequiredProperty("jdbc.driverClassName"));
        dataSource.setJdbcUrl(environment.getRequiredProperty("jdbc.url"));
        dataSource.setUsername(environment.getRequiredProperty("jdbc.username"));
        dataSource.setPassword(environment.getRequiredProperty("jdbc.password"));

        return dataSource;
    }
}

请大家帮我找出问题的原因和解决办法。

谢谢, 法赫德·劳夫

【问题讨论】:

    标签: spring jakarta-ee junit integration-testing dbunit


    【解决方案1】:
    initializationError(ua.com.stormlabs.geotagger.web.controllers.rest.LocationServiceControllerIntegrationTest): 
    org/dbunit/operation/DatabaseOperation
    

    这看起来像一个类路径错误。我怀疑整个错误是ClassNotFound:org/dbunit/operation/DatabaseOperation

    您能否检查以确保 dbunit 及其所有依赖项都在类路径中? DBUnit 有很多依赖项。

    【讨论】:

    • 是的,你是对的,事实证明我在 pom.xml 文件中缺少一些依赖项。我更新了它并且测试运行良好。谢谢马克。
    猜你喜欢
    • 1970-01-01
    • 2019-07-07
    • 2014-02-08
    • 1970-01-01
    • 2017-12-06
    • 2012-05-25
    • 1970-01-01
    • 2010-11-26
    • 1970-01-01
    相关资源
    最近更新 更多