假设我有一个函数,它返回base64位于特定path.
func getFile(path string) (string, error) {
imgFile, err := ioutil.ReadFile(path)
if err != nil {
return "", fmt.Errorf("Error opening image file: %s", err)
}
base64 := base64.StdEncoding.EncodeToString(imgFile)
return base64, nil
}
现在,我正在为这个函数编写表驱动测试,它们现在看起来像这样。
func TestGetFile(t *testing.T) {
type getFileTest struct {
Path string
Base64 string
Err error
}
getFileTests := []getFileTest{
{"", "", nil},
}
for _, td := range getFileTests {
base64, err := getFile(td.Path)
if err != nil {
t.Errorf("TestGetFile: Error calling getFile: %s", err)
}
if base64 != td.Base64 {
t.Errorf("TestGetFile: Return values from getFile is not expected: Expected: %s, Returned: %s", td.Base64, base64)
}
}
}
现在,当前测试失败:-
test.go:18: TestGetFile: Error calling getFile: Error opening image file: open : no such file or directory
当我将空路径传递给时,如何断言我得到了正确的错误getFile?
天涯尽头无女友
慕娘9325324
慕神8447489
相关分类