- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
努力让我的集成测试与 inmemdb-maven-plugin 和 maven-failsafe-plugin 一起使用。
基本上,我运行 hibernate4-maven-plugin 来生成一个 SQL 脚本,其中包含运行集成测试所需的表的“create”语句。 (将 SQL 脚本与 inmemdb-maven-plugin 一起使用非常简单且有文档,因此我不会对此进行详细说明)。我将 inmemdb-maven-plugin 指向生成的脚本,它会毫无问题地读取此脚本:
-------------------------------------------------------
T E S T S
-------------------------------------------------------
[INFO] Started embedded Derby database
[INFO] Server has been started
[INFO] Executing initialization scripts and loading data sets
[INFO] Loading Script[target/schema.sql]
但是,当 maven-failsafe-plugin 执行集成测试时,似乎没有任何表可用:
Caused by: java.sql.SQLException: Table/View 'MY_TEST_TABLE' does not exist.
at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown Source)
... 71 more
Caused by: ERROR 42X05: Table/View 'MY_TEST_TABLE' does not exist.
at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
at org.apache.derby.impl.sql.compile.DMLModStatementNode.verifyTargetTable(Unknown Source)
at org.apache.derby.impl.sql.compile.InsertNode.bindStatement(Unknown Source)
at org.apache.derby.impl.sql.GenericStatement.prepMinion(Unknown Source)
at org.apache.derby.impl.sql.GenericStatement.prepare(Unknown Source)
at org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.prepareInternalStatement(Unknown Source)
... 65 more
为了确认情况确实如此,我复制了创建 MY_TEST_TABLE 的 SQL 部分,并将其添加为 native 查询:
Query query = em.createNativeQuery( "create table my_test_table (" +
" id bigint generated by default as identity, "+
" some_field bigint, " +
" another_field varchar(255), " +
" primary key (id) )");
query.executeUpdate();
// Rest of integration test class
然后错误消失了,因为现在 MY_TEST_TABLE 可用。
所以,坦白说,我很困惑。如何让这两个插件都能很好地发挥作用?我将不胜感激任何意见和/或,谢谢。
最佳答案
我也遇到了同样的问题。对我来说解决这个问题的方法是将我的连接 URL 从 jdbc:h2:mem:picnicwms
更改为 jdbc:h2:tcp://localhost:9092/mem:picnicwms
。
关于java - inmemdb-maven-plugin 和 maven-failsafe-plugin 数据库表创建问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31380299/
努力让我的集成测试与 inmemdb-maven-plugin 和 maven-failsafe-plugin 一起使用。 基本上,我运行 hibernate4-maven-plugin 来生成一个
我是一名优秀的程序员,十分优秀!