gpt4 book ai didi

unit-testing - 使 os.Stat 抛出错误,使 IsNotExist 返回 false

转载 作者:IT王子 更新时间:2023-10-29 01:44:03 25 4
gpt4 key购买 nike

我正在尝试测试以下分支:

if _, err := os.Stat(path); err != nil {
if os.IsNotExist(err) {
continue
}
return errors.File().AddDetails(err)
}

显然,如果 path 不存在,os.Stat 将抛出错误。 Reading the Golang documentation不返回有关 os.Stat 可能返回的错误的详细信息。有没有办法让 os.Stat 抛出另一种错误?

最佳答案

您可以通过传递无效的文件名导致错误,例如 IsNotExist 返回 false。

package main

import (
"fmt"
"os"
)

func main() {
_, err := os.Stat("\000x")
fmt.Println(err)

// prints:
//
// stat x: invalid argument
}

\000(ASCII: NUL) 是 unix 文件名中的无效字符。

关于unit-testing - 使 os.Stat 抛出错误,使 IsNotExist 返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52976701/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com