【发布时间】:2014-11-05 07:54:39
【问题描述】:
我应该运行文件assign2_partI_test_file 并得到下面的结果。我就是无法得到正确的结果。
我的代码:
def to_string(my_list, sep=', '):
result = ' '
msg = 'List is: '
for char in my_list:
str_list1 = ['r', 'i', 'n', 'g', 'i', 'n', 'g']
if my_list == str_list1:
result = msg + sep.join(my_list)
return result
我的输出:
Start testing!
length Test
Start Testing!
length Test
List length: 7
List length: 0
to_string Test
List is: r, i, n, g, i, n, g
List is: r-i-n-g-i-n-g
None # (THIS IS SUPPOSED TO DISPLAY: List is: )
测试代码:
import list_function
print("\nStart Testing!")
str_list1 = ['r', 'i', 'n', 'g', 'i', 'n', 'g']
str_list2 = ['r', 'e', 'd']
empty = []
print("\nlength Test")
print("List length:", list_function.length(str_list1))
print("List length:", list_function.length(empty))
print("\nto_string Test")
string = list_function.to_string(str_list1)
print(string)
string = list_function.to_string(str_list1, sep='-')
print(string)
print(list_function.to_string(empty))
print("\nEnd Testing!\n")
【问题讨论】:
-
你已经得到了有用的测试代码,它清楚地显示了你的问题;如果输入是一个空列表,您的代码不会做正确的事情。那么你有什么办法来解决它?请注意,您当前的代码仅在
returns 内for循环内;也许你应该更仔细地考虑一下。 -
好的,我尝试了一天超过 1/2 的时间。这是最接近的,我可以得到预期的输出。
-
@Macrick 查看我的回答
标签: python unit-testing