我需要为Scrapy蜘蛛编写单元测试。问题是,我知道如何以编程方式调用Scrapy spider的唯一方法是通过scrapy.crawler.CrawlerProcess
创建子进程,然后创建Twisted reactor等。对于简单的单元测试来说,这是一个巨大的过度杀伤力。
我想要做的只是创建一个请求,以某种方式加载项目设置,发送它并处理响应。
有没有办法正确地做到这一点?
修改 我检查了Scrapy Unit Testing,但测试的重点是检查数据库中的某些xpath如何映射网站的当前状态。我对在线测试没问题,实际上我需要它。 (然后它变得更像是集成测试,但无论如何。)