Python 为松散的、屈服的项目编写单元测试

Python 为松散的、屈服的项目编写单元测试,python,unit-testing,scrapy,Python,Unit Testing,Scrapy,所以我试着养成用scrapy为我的项目编写单元测试的习惯,但问题是,我不知道该怎么做。例如,在我的self.parse()中,我总是生成项而不是返回项,因此每当我调用self.parse()时,它都返回一个生成器对象。我尝试做的是生成一个虚假响应,如下所示: 如果您正在返回一个项目,那么它似乎是有效的,但是正在生成的项目呢?如何测试正在生成的项目?只需将生成器消耗到列表中: expected = MyItem({'foo': 'bar'}) item = list(spider.parse(r

所以我试着养成用scrapy为我的项目编写单元测试的习惯,但问题是,我不知道该怎么做。例如,在我的self.parse()中,我总是生成项而不是返回项,因此每当我调用self.parse()时,它都返回一个生成器对象。我尝试做的是生成一个虚假响应,如下所示:


如果您正在返回一个项目,那么它似乎是有效的,但是正在生成的项目呢?如何测试正在生成的项目?

只需将生成器消耗到列表中:

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

@如果这能解决你的问题,请别忘了点击这篇文章左边的“接受答案”按钮:)我的蜘蛛中有多个收益陈述是什么?@Kishan然后它变得非常棘手。实际上,我为scrapy编写了一个测试框架,名为
scrapy test
,目前仍处于早期阶段,但您可以在