【发布时间】:2017-11-08 01:41:44
【问题描述】:
我目前正在编写两个反转字符串的函数。我已经编写了这两个函数。现在我正在尝试编写一个具有一系列测试用例的函数,可用于测试这两个函数而不是调用 doctest(因为两个函数具有相同的测试)。
但我不确定如何调用这些函数。这就是我所拥有的。
def strReverseI(s):
'''(str) -> str
Takes a str and reverses it into a new string.
>>> strReverseR('Hello World!')
'!dlroW olleH'
>>> strReverseR('CIS 210')
'012 SIC'
'''
x = len(s) - 1
new = ''
while x >= 0:
new = new + str(s[x]) #last char of s
x = x - 1 #goes down back one char in s
return new
def test_reverse(f):
testcases = (('', ''),
('a', 'a'),
('xyz', 'zyx'),
('testing123', '321gnitset'),
('hello, world', 'dlrow ,olleh')
)
for i in testcases:
if f(i) != True:
return False
else:
return True
我想将 strReverseI 传递给 test_reverse,如果它通过所有测试,则返回 true,否则返回 false。我如何将 strReverseI 传递给 test_reverse?
我尝试过“test_reverse(strReverseI),但它要求 strReverseI 的参数。但不确定要传递什么。
有什么想法吗?
编辑:我意识到我的功能测试功能不应该测试真假。那是我用来测试其他东西的不同设置。否则,我将对其进行更改以查看'a' == 'a'。无论如何,问题的前提仍然是相同的。仍然不确定如何以另一个函数作为参数调用该函数。
【问题讨论】:
标签: python testing reverse doctest