2017-04-24 80 views
0

因此,我試圖進入scrapy爲我的項目編寫單元測試的習慣,但事實是,我不知道如何去做這件事。例如,在我的self.parse()中,我總是產生項目而不是返回項目,所以無論何時調用self.parse(),它都會返回一個生成器對象。我試圖做什麼生成一個假的響應如下所示:爲scrapy編寫單元測試,產生項目

Scrapy Unit Testing

這似乎工作,如果你正在返回的項目,但對於正在被產生的項目?你如何測試正在被輸出的物品?

回答

0

只需消耗發電機到一個列表:

expected = MyItem({'foo': 'bar'}) 
item = list(spider.parse(response)) 
assert item == expected 
+0

不錯!謝啦! – NewbAndroider

+0

@NewbAndroider如果這樣可以解決您的問題,請不要忘記點擊本文後面的「接受答案」按鈕:) – Granitosaurus