注释@UsingDataSet在迁移后停止工作

时间:2015-05-22 13:42:52

标签: java glassfish migration java-8 jboss-arquillian

最近,我们开始将项目从Java 6迁移到Java 8.这带来了一系列更新,其中包括从glassfish 3.1.2.2迁移到glassfish 4.1JEE6JEE7等。

然而,在我们使用arquillian完成测试的过程之后,需要将数据插入数据库的那些测试停止了工作。更具体的测试如下:

@Test
@UsingDataSet("table.json")
public void getLastEntryTest() throws NoResultFoundException {
    assertCorrectness(tableDAO.getLastEntry());
}

在运行时抛出

java.lang.NullPointerException
at org.jboss.arquillian.transaction.impl.lifecycle.TransactionHandler.testRequiresRollbackDueToFailure(TransactionHandler.java:170)

我们使用的相关依赖项:

<groupId>org.jboss.arquillian</groupId>
<artifactId>arquillian-bom</artifactId>
<version>1.1.8.Final</version>

<groupId>org.jboss.arquillian.container</groupId>
<artifactId>arquillian-glassfish-remote-3.1</artifactId>
<version>1.0.0.CR4</version>

<groupId>org.jboss.arquillian.extension</groupId>
<artifactId>arquillian-persistence-dbunit</artifactId>
<version>1.0.0.Alpha7</version>

<groupId>org.jboss.arquillian.junit</groupId>
<artifactId>arquillian-junit-container</artifactId>
<version>1.1.8.Final</version>

<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>

示例table.json:

{ "schema.table": 
    [
     {
        "date": "2005-09-19 00:00:00",
        "foo": "value"
     }
    ]
}

数据库连接(到Oracle数据库)正常工作 - 如果我们通过在测试体内执行查询来手动执行insterts,则一切都符合预期。

我们如何让它发挥作用?

0 个答案:

没有答案