2017-06-06 164 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訪問測試函數的輸出和檢查。