testing.diff() 函数
testing.diff()
生成两个数据流之间的差异。
该函数基于组键匹配来自每个数据流的表。对于每个匹配的表,它生成一个差异。任何添加或删除的行都作为行添加到表中。创建一个名为 diff 的附加字符串列,如果该行存在于 got
表中但不存在于 want
表中,则包含 -
;如果情况相反,则包含 +
。
如果表不同,diff()
函数至少发出一行;如果表相同,则不发出任何行。生成的具体差异可能会发生变化。diff()
可用于在查询中执行内联差异。
函数类型签名
(
<-got: stream[A],
want: stream[A],
?epsilon: B,
?nansEqual: C,
?verbose: D,
) => stream[{A with _diff: string}]
有关更多信息,请参阅 函数类型签名。
参数
got
包含要测试的数据的数据流。默认值为管道转发数据 (<-
)。
want
(必需) 包含要对照测试的数据的数据流。
epsilon
指定两个浮点值之间可以相差多远,但仍被视为相等。默认为 0.000000001。
verbose
在输出中包含详细差异。默认为 false
。
nansEqual
将 NaN
浮点值视为相等。默认为 false
。
示例
输出两个表数据流之间的差异
import "sampledata"
import "testing"
want = sampledata.int()
got =
sampledata.int()
|> map(fn: (r) => ({r with _value: if r._value > 15 then r._value + 1 else r._value}))
testing.diff(got: got, want: want)
返回表数据流与预期输出之间的差异
import "testing"
want = from(bucket: "backup-example-bucket") |> range(start: -5m)
from(bucket: "example-bucket")
|> range(start: -5m)
|> testing.diff(want: want)
此页面是否对您有帮助?
感谢您的反馈!