我正在尝试改善Golang测试。我在读:https://ieftimov.com/post/testing-in-go-failing-tests/
我经常使用t.Fatal("message")
,而应该使用以下组合:
t.Fail()
t.Logf()
那么,为什么在地球上没有一个电话,然后才能通过测试并记录原因呢?我有办法将这种方法添加到test.Testing实例吗?我只想做:
t.FailWithReason("the reason the test failed")
这个存在吗?如果不存在,我可以添加吗?
答案 0 :(得分:1)
看看测试包的文档和源代码。
通常使用的documentation has an example:
func TestAbs(t *testing.T) {
got := Abs(-1)
if got != 1 {
t.Errorf("Abs(-1) = %d; want 1", got)
}
}
t.Errorf
的文档是:
// Errorf is equivalent to Logf followed by Fail.
这与您想要的内容非常相似:
t.Fail()
t.Logf()