DBUnit:从maven设置属性

时间:2015-07-31 10:03:28

标签: java maven

要使用DBunit,必须设置一些属性。它们可以直接通过代码设置,也可以通过maven属性设置。

我正在使用DBunit 2.4.9,我通过maven设置麻烦。我已经从DBunit检查了pom.xml,并且存在:

<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很新,所以我觉得我在这里错过了什么

1 个答案:

答案 0 :(得分: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>

如果你有更好的解决方法,我可以接受建议