小编Hug*_*uge的帖子

Scrapy单元测试

我想在Scrapy(屏幕抓取器/网络爬虫)中实现一些单元测试.由于项目是通过"scrapy crawl"命令运行的,我可以通过像nose这样的东西运行它.由于scrapy是建立在扭曲的基础之上,我可以使用它的单元测试框架试用吗?如果是这样,怎么样?否则,我想获得的鼻子工作.

更新:

我一直在谈论Scrapy-Users,我想我应该"在测试代码中构建Response,然后使用响应调用该方法并声明[I]在输出中获得预期的项目/请求".我似乎无法让这个工作.

我可以构建一个单元测试测试类并进行测试:

  • 创建一个响应对象
  • 尝试用响应对象调用我的蜘蛛的parse方法

然而,它最终会产生这种追溯.任何洞察力为什么?

python unit-testing nose scrapy

56
推荐指数
5
解决办法
2万
查看次数

如何用迭代器修改iterables的元素?即如何在Python中获得写迭代器?

我非常喜欢Python语法,但是由于我来自C++,我在Python中没有得到关于迭代器的一点.在C++中有两种迭代器 - 常量和修改(非常量).在python中,似乎(对于我所见过的)只有第一种,如果你想修改元素,你必须使用索引,这对我来说感觉不舒服.让我用一个简单的例子来说明:

ab = ["a", "b"]
for (index, lett) in enumerate(ab):
    print "Firstly, lett is ab[index]?", lett is ab[index]
    lett = str(index)
    print lett
    print ab[index]
    print "But after, lett is ab[index]?", lett is ab[index]
Run Code Online (Sandbox Code Playgroud)

所以我无法使用迭代器修改列表.它只是制作了Lazy副本(见维基百科),正如我在is运营商中发现的那样,有没有办法说我希望它是一个直接修改迭代器而不是使用整齐

for variable in iterable_object:
Run Code Online (Sandbox Code Playgroud)

句法?

python iterator immutability sequence

5
推荐指数
2
解决办法
2305
查看次数

标签 统计

python ×2

immutability ×1

iterator ×1

nose ×1

scrapy ×1

sequence ×1

unit-testing ×1