pytest函数没有返回值

时间:2017-06-06 16:07:02

标签: pytest

我正在尝试对没有返回值的函数执行pytest,但很明显,pytets中的值为None。我想知道是否有解决方案?

这是我正在尝试测试的功能:

  def print_top_movies_url():
    for item in movie_link[:100]:
        print item.contents[1]

2 个答案:

答案 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来访问测试函数的输出并检查它。