Doctest 没有期望,但是 file.write() 输出了一些东西
Doctest expects nothing, but file.write() outputs something
我是运行程序的简单doctest,测试的一部分是将1,000个空行写入文本文件。
>>> NUMLINES = 1000
>>> with open(file_path, "w") as f: f.write("blankline\n"*NUMLINES)
>>> some_function(arg)
Doctest 不期望任何内容,但以某种方式写入文件会产生整数 10,000。
Failed example:
with open(status_path,"w") as f: f.write("blankline\n"*NUMLINES)
Expected nothing
Got:
10000
我不知道 10,000 是从哪里来的,这甚至不是我正在测试的东西。有什么想法吗?
更新:
返回的值似乎是写入文本文件的所有字符的总和。 len("blankline\n") * NUMLINES
= 10,000
你的测试是错误的。 f.write()
returns 东西:
write(s)
Write the string s to the stream and return the number of characters written.
关于继承的注意事项:open(mode="w")
returns io.TextIOWrapper
的一个实例,它继承自 io.TextIOBase
,它提供 write
方法。
我是运行程序的简单doctest,测试的一部分是将1,000个空行写入文本文件。
>>> NUMLINES = 1000
>>> with open(file_path, "w") as f: f.write("blankline\n"*NUMLINES)
>>> some_function(arg)
Doctest 不期望任何内容,但以某种方式写入文件会产生整数 10,000。
Failed example:
with open(status_path,"w") as f: f.write("blankline\n"*NUMLINES)
Expected nothing
Got:
10000
我不知道 10,000 是从哪里来的,这甚至不是我正在测试的东西。有什么想法吗?
更新:
返回的值似乎是写入文本文件的所有字符的总和。 len("blankline\n") * NUMLINES
= 10,000
你的测试是错误的。 f.write()
returns 东西:
write(s)
Write the string s to the stream and return the number of characters written.
关于继承的注意事项:open(mode="w")
returns io.TextIOWrapper
的一个实例,它继承自 io.TextIOBase
,它提供 write
方法。