2

我正在使用 dbfit 并遇到问题。我正在做的大部分测试是不应该返回任何结果的查询。但是,当我将结果行留空并执行测试时,dbfit 告诉我正确结果为零,错误为零。

所以我正在寻找一种方法,如果它们没有返回结果,dbfit 会告诉我测试是正确的。如果有任何结果显示我可以看到它们(所以不要使用计数为零的断言)

我已经尝试过 fail[expected result] 方法,但似乎 dbfit 认为它就像使用查询的返回行断言的结果。不像保存的方法。

那我能做什么?谢谢

4

2 回答 2

2

应该为您工作的是QueryStats表格(抱歉,它没有记录,但验收测试套件中有一些示例):

!|Query Stats                                        |
|query                        | row count? |is empty?|
|SELECT * from dual where 0=1 | 0          |true     |
于 2014-01-12T17:26:04.020 回答
1

我知道我迟到了三年,但只是想我会发布一个替代答案,以防其他人遇到这个问题。

起初我打算实现 benilov 的方法,但后来我想到有一个更简单的方法。只需从表中选择记录数并断言,而不是尝试选择任何数据:

!|query|!-select count(*) RowCount from table where 0=1-!|
|RowCount?|
|0        |
于 2017-11-24T08:24:24.693 回答