如何在dbunit中测试非空值结果

时间:2015-04-12 21:51:01

标签: java xml dataset dbunit

要测试null,可以将数据集引用设置为

<dataset>
    <table name="order_test">
        <column>foreignId</column>
        ...
        <row>
            <null/>
        ...
       </row>
...

当结果给出一个随机值时,如何传递断言?我尝试了<notnull/><value/>,但没有果汁。

3 个答案:

答案 0 :(得分:0)

如果列不为null,我最终更改了我使用的查询 e.g。

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>
...

答案 1 :(得分:0)

您还可以尝试使用:

<dataset>
    <table name="order_test">
        <column>foreignId</column>
        ...
        <row>
             <null description="foreignId"/>
        ...
       </row>

...

答案 2 :(得分:-1)

对于这样的随机值(例如时间戳),通常会忽略预期结果集中的列。请参阅DefaultColumnFilter

例如:

String[] excludeColumns = {"col1", "col2"};
ITable filteredTable = DefaultColumnFilter.excludedColumnsTable(table, excludeColumns);