2017-06-06 159 views
0

我试图做一个没有返回值的函数pytest,但显然值是None在pytets。我想知道是否有解决方案?pytest函数没有返回值

这里是我想测试功能:

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

你想达到什么区别没有“没有价值”? – phd

回答

0

有没有这样的事,作为一个功能,而不在Python返回值。如果一个函数没有显式地返回一个值,那么Python会隐式地返回None。

+0

虽然这是事实,但它并不回答这个问题。 –

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的output capturing访问测试函数的输出和检查。