【发布时间】:2016-08-24 15:32:07
【问题描述】:
我正在尝试使用 Arquillian 和 Wildfly 服务器将 json 加载到 Postgresql 中的 json 列类型。所以基本上我已经写了一个 InContainer 测试。
@Test
@UsingDataSet("datasets/contracts/contracts.yml")
public void FindContractByContractCodeAndUserId_ValidContractResponse() {
ContractResponse contractResponse = contractBoundary.getContractByContractCodeAndUserId("0816QMCG", 1);
assertThat(contractResponse, notNullValue());
assertThat(contractResponse.getAmount(), is(800.0));
assertThat(contractResponse.getDescription(), is("MacBook"));
assertThat(contractResponse.getImageLink(), is("http://dasdas.de/"));
assertThat(contractResponse.isShowOnMarketplace(), is(false));
assertThat(contractResponse.getStatus(), is(ContractStatusEnum.PENDING));
}
yml 文件包含一个 json 类型的列,如下所示:
数据:{"data":{"newAmount":700.23}}
它自己的应用程序可以在postgresql中存储json类型。
现在我正在编写一个 InContainer 测试,它将数据加载到内存数据库 H2,但我检查了 H2 不支持 json,所以我转而使用 postgresql 并部署了 psql 驱动程序,但是当我运行时测试,我总是收到以下错误:
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) 原因:org.dbunit.dataset.NoSuchColumnException:contract_events.DATA - ColumnNameToIndexes 缓存映射中的(非大写输入列:数据)。请注意,地图的列名不区分大小写。在 org.dbunit.dataset.AbstractTableMetaData.getColumnIndex(AbstractTableMetaData.java:117) 在
并且测试未能为数据库播种。 !!!!
【问题讨论】:
标签: java json postgresql wildfly jboss-arquillian