如何在 dbunit 中测试非空值结果
How to test for not null value result in dbunit
要测试 null 数据集引用可以设置为
<dataset>
<table name="order_test">
<column>foreignId</column>
...
<row>
<null/>
...
</row>
...
当结果返回随机值时,如何才能通过断言?我试过 <notnull/>
或 <value/>
但没有果汁。
如果列不为空,我最终更改了我使用的查询
例如
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>
...
对于这样的随机值(例如时间戳),通常会忽略预期结果集中的列。参见 DefaultColumnFilter。
例如:
String[] excludeColumns = {"col1", "col2"};
ITable filteredTable = DefaultColumnFilter.excludedColumnsTable(table, excludeColumns);
您也可以尝试使用:
<dataset>
<table name="order_test">
<column>foreignId</column>
...
<row>
<null description="foreignId"/>
...
</row>
...
要测试 null 数据集引用可以设置为
<dataset>
<table name="order_test">
<column>foreignId</column>
...
<row>
<null/>
...
</row>
...
当结果返回随机值时,如何才能通过断言?我试过 <notnull/>
或 <value/>
但没有果汁。
如果列不为空,我最终更改了我使用的查询 例如
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>
...
对于这样的随机值(例如时间戳),通常会忽略预期结果集中的列。参见 DefaultColumnFilter。
例如:
String[] excludeColumns = {"col1", "col2"};
ITable filteredTable = DefaultColumnFilter.excludedColumnsTable(table, excludeColumns);
您也可以尝试使用:
<dataset>
<table name="order_test">
<column>foreignId</column>
...
<row>
<null description="foreignId"/>
...
</row>
...