0
因此,我試圖進入scrapy爲我的項目編寫單元測試的習慣,但事實是,我不知道如何去做這件事。例如,在我的self.parse()中,我總是產生項目而不是返回項目,所以無論何時調用self.parse(),它都會返回一個生成器對象。我試圖做什麼生成一個假的響應如下所示:爲scrapy編寫單元測試,產生項目
這似乎工作,如果你正在返回的項目,但對於正在被產生的項目?你如何測試正在被輸出的物品?
因此,我試圖進入scrapy爲我的項目編寫單元測試的習慣,但事實是,我不知道如何去做這件事。例如,在我的self.parse()中,我總是產生項目而不是返回項目,所以無論何時調用self.parse(),它都會返回一個生成器對象。我試圖做什麼生成一個假的響應如下所示:爲scrapy編寫單元測試,產生項目
這似乎工作,如果你正在返回的項目,但對於正在被產生的項目?你如何測試正在被輸出的物品?
只需消耗發電機到一個列表:
expected = MyItem({'foo': 'bar'})
item = list(spider.parse(response))
assert item == expected
不錯!謝啦! – NewbAndroider
@NewbAndroider如果這樣可以解決您的問題,請不要忘記點擊本文後面的「接受答案」按鈕:) – Granitosaurus