2015-07-31 2 views
1

Чтобы использовать DBunit, необходимо установить некоторые свойства. Они могут быть установлены непосредственно через код или через свойства maven.DBUnit: настройка свойств из maven

Я использую DBunit 2.4.9, и у меня проблемы с настройкой через maven. Я проверил pom.xml от DBUnit, и это присутствует:

<systemProperties> 
     .... 
     <property> 
      <name>dbunit.profile.driverClass</name> 
      <value>${dbunit.profile.driverClass}</value> 
     </property> 

Я попытался установить это свойство от settings.xml или pom.xml проекта, но я все еще получаю это исключение: DbAssertionFailedError: driverClass is null

Вот свойства, которые я установить на моем pom.xml (на уровне корня):

<properties> 
    <dbunit.profile.driverClass>org.postgresql.Driver</dbunit.profile.driverClass> 
    <dbunit.profile.url>jdbc:postgresql://localhost:5432/tests</dbunit.profile.url> 
    <dbunit.profile.user>postgres</dbunit.profile.user> 
    <dbunit.profile.password>postgres</dbunit.profile.password> 
/properties> 

Я совершенно новой для Maven, так что я думаю, что я что-то здесь отсутствует

+0

Я думаю, что определение таких свойств в pom.xml намного лучше, чем settings.xml. Не могли бы вы разместить свой pom.xml, который вы пытались установить свойство 'dbunit.profile.driverClass'? Кроме того, вы могли бы выполнить команду maven с помощью '-X' (в режиме отладки) и опубликовать результат? – bhdrkn

+0

У меня был раздел свойств pom.xml для исходного сообщения. Для журналов maven я вставлял журналы maven здесь: http://paste.ubuntu.com/11973895/ – DenisB

ответ

0

Я понял это. Проблема возникла из имени свойств, которое не находится между POM.xml и фактическим кодом. Например, код основан на свойстве dbunit.driverClass и DBUnit pom.xml содержит следующие строки внутри свойств:

<property> 
    <name>dbunit.profile.driverClass</name> 
    <value>${dbunit.profile.driverClass}</value> 
</property> 

Я имел следующую конфигурацию в maven-failsafe-plugin:

<configuration> 
    <systemPropertyVariables> 
     <dbunit.driverClass>${dbunit.profile.driverClass}</dbunit.driverClass> 
     <dbunit.connectionUrl>${dbunit.profile.url}</dbunit.connectionUrl> 
     <dbunit.username>${dbunit.profile.user}</dbunit.username> 
     <dbunit.password>${dbunit.profile.password}</dbunit.password> 
    </systemPropertyVariables> 
</configuration> 

Если у вас есть лучший способ его решить. Я открыт для предложений.

Смежные вопросы