Skip to main content

以测试驱动的方式构建 Scrapy Crawlers 的助手和示例。

项目描述

https://travis-ci.org/rrschmidt/scrapy_tdd.svg?branch=master 测试覆盖率

scrapy_tdd

以测试驱动的方式构建 Scrapy Crawlers 的助手和示例。

动机 / 为什么我应该使用 TDD 开发 Scrapy Crawlers?

  1. 开发 - 测试周期缩短到几秒钟,因此它可以让您更快地获得正常工作的刮板

  2. 当使用真实数据在“野外”发现错误时,可以更快地创建和测试新的示例文件、测试和修复

  3. 它允许在不破坏任何东西的情况下快速重构——这会产生更清晰的爬虫代码

  4. 当你习惯做 TDD 的时候感觉很不错

与 Scrapy 的 Spiders Contracts 有什么区别?

Scrapy 有自己的内置测试功能,名为Spiders Contracts

我尝试使用它们一段时间,但由于以下缺点,我决定在 py.test 这样的单元测试框架中构建真正的单元测试:

  • 它的理念是针对本质上更广泛且不太具体的概念的合同(因此得名)进行测试。可以对项目中的确切字段内容进行测试,但既困难又脆弱

  • 它的文档和基本功能集有点薄

  • 它将实现代码与合同描述混合在一起,只有在合同很少且简单的情况下才可用

安装

点安装 scrapy_tdd

快速入门示例

def 描述_fancy_spider():

to_test = MySpider().from_crawler(get_crawler())

def describe_parse_suggested_terms():

resp = response_from(“Result_JSON_Widget.txt”) 结果 = to_test.parse(resp)

def should_get_item():

item = 结果断言 item[0][“lorem”] == 'ipsum' 断言 item[0][“iterem”] == “ipsem”

完整文档

… 快来了 …

缺失/后续步骤

  • 模拟请求-响应对

如何贡献

… 快来了 …

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

scrapy_tdd-0.1.5.tar.gz (5.2 kB 查看哈希)

已上传 source