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