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}]
有关更多信息,请参见 Function type signatures。
参数
获得
包含用于测试的数据流。默认是向前传送的数据 (<-).
想要
(必填) 包含要进行测试的数据流。
epsilon
指定两个浮点值可以相距多远,但仍然被视为相等。默认为 0.000000001。
详细信息
包括输出中的详细差异。默认是 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)