2017-04-24 76 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