【问题标题】: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>
...

当结果返回一个随机值时,如何传递断言?我试过&lt;notnull/&gt;&lt;value/&gt; 但没有果汁。

【问题讨论】:

    标签: 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);
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2014-08-29
          • 2014-04-10
          • 2011-02-03
          • 1970-01-01
          • 1970-01-01
          • 2011-02-08
          • 2019-02-02
          相关资源
          最近更新 更多