当您对返回类型为error
的函数进行单元测试时,我想知道如何正确地对此错误进行单元测试.您是否应该只判断错误是否为零?或者,您是否也应该验证错误字符串是否与预期字符串匹配?
当您对返回类型为error
的函数进行单元测试时,我想知道如何正确地对此错误进行单元测试.您是否应该只判断错误是否为零?或者,您是否也应该验证错误字符串是否与预期字符串匹配?
在大多数情况下,您只需判断错误是否为零.
我建议除非绝对必要,否则不要判断错误字符串.我通常认为错误字符串仅供人类使用.
如果您需要有关错误的更多详细信息,更好的替代方法是具有自定义错误类型.然后,您可以对错误(Type)进行切换,看看它是否是您期望的类型. 如果需要更多详细信息,可以使自定义错误类型包含值,然后可以在测试中判断这些值.
Go的错误只是具有Error() string
方法的类型的接口,所以自己实现它们很简单.
https://blog.golang.org/error-handling-and-go个