【问题标题】:How to test for not null value result in dbunit如何在 dbunit 中测试非空值结果
【发布时间】:2015-04-12 21:51:01
【问题描述】:
为了测试null,可以将数据集引用设置为
<dataset>
<table name="order_test">
<column>foreignId</column>
...
<row>
<null/>
...
</row>
...
当结果返回一个随机值时,如何传递断言?我试过<notnull/> 或<value/> 但没有果汁。
【问题讨论】:
标签:
java
xml
dataset
dbunit
【解决方案1】:
我最终更改了我使用的查询,所以如果该列不为空
例如
SELECT CASE WHEN foreignId IS NOT NULL THEN 'foreignId' ELSE foreignId END
FROM table
然后我有一个特定的值要在数据集参考中设置:
<dataset>
<table name="order_test">
<column>foreignId</column>
...
<row>
<value>foreignId<value/>
...
</row>
...
【解决方案2】:
你也可以尝试使用:
<dataset>
<table name="order_test">
<column>foreignId</column>
...
<row>
<null description="foreignId"/>
...
</row>
...
【解决方案3】:
对于像这样的随机值(例如时间戳),通常忽略预期结果集中的列。见DefaultColumnFilter。
例如:
String[] excludeColumns = {"col1", "col2"};
ITable filteredTable = DefaultColumnFilter.excludedColumnsTable(table, excludeColumns);