Python - 如何使用另一个函数创建测试函数?
Python - How do I create a test function by using another function?
我很难尝试将另一个函数用于测试我用 print 语句添加的函数的函数。例如,使用这个反转字符串的函数。我想在另一个测试反向函数的函数中使用 print 语句,但我很难理解如何在不向测试函数添加参数的情况下将 is_reverse 函数合并到测试函数中。
def is_reverse( st1, st2 ):
if len( st1 ) != len( st2 ):
return False
i = 0
j = len( st2 ) - 1
while j > 0:
if st1[i] != st2[j]:
return False
i += 1
j -= 1
return True
def test_is_reverse( ):
print( "is_reverse( \"hey\", \"yah\" ) == False.\"" )
print( "is_reverse( \"man\", \"nam\" ) == True.\"" )
一种方法是将要用于打印错误消息的函数作为参数传递给测试函数。
大致如下:
def my_print_func (errmsg):
print (errmsg)
def test_is_reverse(f ):
f( "is_reverse( \"hey\", \"yah\" ) == False.\"" )
f( "is_reverse( \"man\", \"nam\" ) == True.\"" )
要进行测试,您可以:
test_is_reverse(my_print_func)
也就是说,您应该避免重新发明轮子并使用 Python unittest 框架,请参阅 https://docs.python.org/2/library/unittest.html
您可以设置一个函数来 运行 您的测试并打印结果:
def test_is_reverse(st1, st2):
# Define tests here, for example:
print st1, st2, is_reverse(st1,st2), is_reverse(st2, st1)
print is_reverse(st1,st1) == is_reverse(sty, st1)
我很难尝试将另一个函数用于测试我用 print 语句添加的函数的函数。例如,使用这个反转字符串的函数。我想在另一个测试反向函数的函数中使用 print 语句,但我很难理解如何在不向测试函数添加参数的情况下将 is_reverse 函数合并到测试函数中。
def is_reverse( st1, st2 ):
if len( st1 ) != len( st2 ):
return False
i = 0
j = len( st2 ) - 1
while j > 0:
if st1[i] != st2[j]:
return False
i += 1
j -= 1
return True
def test_is_reverse( ):
print( "is_reverse( \"hey\", \"yah\" ) == False.\"" )
print( "is_reverse( \"man\", \"nam\" ) == True.\"" )
一种方法是将要用于打印错误消息的函数作为参数传递给测试函数。
大致如下:
def my_print_func (errmsg):
print (errmsg)
def test_is_reverse(f ):
f( "is_reverse( \"hey\", \"yah\" ) == False.\"" )
f( "is_reverse( \"man\", \"nam\" ) == True.\"" )
要进行测试,您可以:
test_is_reverse(my_print_func)
也就是说,您应该避免重新发明轮子并使用 Python unittest 框架,请参阅 https://docs.python.org/2/library/unittest.html
您可以设置一个函数来 运行 您的测试并打印结果:
def test_is_reverse(st1, st2):
# Define tests here, for example:
print st1, st2, is_reverse(st1,st2), is_reverse(st2, st1)
print is_reverse(st1,st1) == is_reverse(sty, st1)