【问题标题】:Writing unit test for scrapy, yielding item为scrapy,yield项目编写单元测试
【发布时间】:2017-04-24 19:54:52
【问题描述】:

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

Scrapy Unit Testing

如果您要退货,这似乎可以工作,但是要让出的商品呢?您如何测试正在生成的项目?

【问题讨论】:

    标签: python unit-testing scrapy


    【解决方案1】:

    简单地将生成器消费到一个列表中:

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

    【讨论】:

    • @NewbAndroider 如果这解决了你的问题,别忘了点击这篇文章左侧的“接受答案”按钮 :)
    • 什么是我的蜘蛛中有多个 yield 语句?
    • @Kishan 那么它变得非常棘手。实际上,我还在早期阶段为 scrapy 编写了一个名为 scrapy-test 的测试框架,但您可以在 pypi 上找到它
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-15
    • 2020-06-25
    • 1970-01-01
    • 2011-09-21
    • 1970-01-01
    相关资源
    最近更新 更多