我喜欢doctest但是当你有一个复杂的参数需要在传递给函数之前设置它变得非常难以阅读..因此,你开始使用多行分配然后调用你想要测试的函数.这种方法然而,会报告你有多个测试而不是你拥有的实际测试数量.一个例子将说明我的意思..
def returnme(x):
"""
Returns what you pass
>>> y = (2, 3, 5, 7)
>>> returnme(y)
(2, 3, 5, 7)
"""
return x
Run Code Online (Sandbox Code Playgroud)
在上面的代码片段中,只有一个测试而另一个只是一个变量赋值,但是,这是报告的内容.
Trying:
y = (2, 3, 5, 7)
Expecting nothing
ok
Trying:
returnme(y)
Expecting:
(2, 3, 5, 7)
ok
2 tests in 2 items.
2 passed and 0 failed.
我看过记录的旗帜,肯定是我遗漏了什么......