【发布时间】:2014-06-15 22:05:36
【问题描述】:
我想根据预期结果的table test 测试返回的错误类型,如下所示:
var tabletest = []struct{
instruction string
want string
err error
}{
{"synonym for hi", "hello", nil}, // input, retval, errtype
{"synonym for hig", "", TranslationError{}},
{"sssnymm for hi", "", InstructionError{}},
}
func TestThesaurus(t *Testing) {
for _, testcase := range tabletest {
got, err := Thesaurus(testcase.instruction)
// check error type
// check result type
}
}
在上面的示例中,根据发生的错误类型返回不同的错误子类。您可能会想象组成的 Thesaurus 函数的调用者会以不同的方式处理每种错误类型。
断言返回的错误类型和预期的错误类型相同的惯用方法是什么?
【问题讨论】:
标签: unit-testing testing error-handling go