测试assert.Equal除了一个字段

时间:2017-07-13 13:36:41

标签: unit-testing go

我正在编写一个用于在DB中读取/写入结构的测试,其中一个字段是在DB中自动计算的时间戳。因此,当我编写struct时,它的时间戳为0,但是当我从DB读取时,时间戳有一个实际值。

我想比较两个值但忽略自动计算字段。有可能吗?

1 个答案:

答案 0 :(得分:0)

在测试之前设置另一个“except”字段:

now := time.Now()
expected := SomeStruct{
    ID:       123,
    Name:     "Test",
    Timestamp: now,
    ...
}
result, _ := db.Select(....)
result.Timeestamp = now
if !reflect.DeepEqual(result, expected) {
   ...
}