Тестирование интеграции Spring Controller с модулем DB

Я работаю над созданием тестовых примеров интеграции для моего контроллера отдыха. Я хочу использовать 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;
    }
}

Ребята помогите найти причину и решение проблемы.

Спасибо, Фахад Рауф.


person Fahad Malik    schedule 04.01.2013    source источник


Ответы (1)


initializationError(ua.com.stormlabs.geotagger.web.controllers.rest.LocationServiceControllerIntegrationTest): 
org/dbunit/operation/DatabaseOperation

Это похоже на ошибку пути к классам. Я подозреваю, что вся ошибка ClassNotFound:org/dbunit/operation/DatabaseOperation

Можете ли вы проверить, что dbunit и все его зависимости находятся в пути к классам? DBUnit имеет довольно много зависимостей.

person Mark Robinson    schedule 05.01.2013
comment
Да, вы были правы, оказалось, что мне не хватает некоторых зависимостей в файле pom.xml. Я обновил его, и тесты прошли нормально. Спасибо, Марк. - person Fahad Malik; 08.01.2013