英文:
Test function which requires *os.File as argument
问题
我想为下面的函数编写一个测试,但是我不知道我可以发送什么参数给 toCount
函数,因为我不想打开/创建一个文件,我知道 os.Stdin
可以工作,但我认为你不允许向其中写入。
func toCount(f *os.File) int {
input := buffo.NewScanner(f)
sum := 0;
for input.Scan() {
sum++
}
return sum
}
请注意,我只会翻译代码部分,不会回答关于翻译的问题。
英文:
I would like to write a test for the bellow function, but I can't understand what I can send as an argument to toCount
, because I don't want to open/create a file, I know that os.Stdin will work, but I think you're not allowed to write into it.
func toCount(f *os.File) int {
input := buffo.NewScanner(f)
sum := 0;
for input.Scan() {
sum++
}
return sum
}
答案1
得分: 2
您的toCount
函数只需要一个io.Reader
参数。如果您将函数签名更改为:
func toCount(f io.Reader) int
它就可以接受一个*os.File
和任何其他类型的读取器,您可以使用它们进行测试。
英文:
Your toCount
function only requires an io.Reader
. If you change the signature to
func toCount(f io.Reader) int
It can accept an *os.File
and any other kind of reader you want to use to test.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论