我正在尝试对没有返回值的函数执行pytest,但很明显,pytets中的值为None。我想知道是否有解决方案?
这是我正在尝试测试的功能:
def print_top_movies_url():
for item in movie_link[:100]:
print item.contents[1]
答案 0 :(得分:1)
在Python中没有没有返回值的函数。如果函数没有显式返回值,则Python会使其隐式返回None。
答案 1 :(得分:0)
最好的办法是将顶级电影分开并打印出来。
例如,您可以使用top_movie_urls
,如下所示:
def top_movie_urls():
urls = []
for item in movie_link[:100]:
urls.append(item.contents[1])
return urls
(或将其设为generator function)
这很容易测试,无论你怎么称呼它,你现在都可以做print('\n'.join(top_movie_urls()))
之类的事情。
如果您确实想要测试输出,可以使用pytest' s output capturing来访问测试函数的输出并检查它。