我想在Scrapy(屏幕抓取器/网络爬虫)中实现一些单元测试.由于项目是通过"scrapy crawl"命令运行的,我可以通过像nose这样的东西运行它.由于scrapy是建立在扭曲的基础之上,我可以使用它的单元测试框架试用吗?如果是这样,怎么样?否则,我想获得的鼻子工作.
更新:
我一直在谈论Scrapy-Users,我想我应该"在测试代码中构建Response,然后使用响应调用该方法并声明[I]在输出中获得预期的项目/请求".我似乎无法让这个工作.
我可以构建一个单元测试测试类并进行测试:
然而,它最终会产生这种追溯.任何洞察力为什么?
我非常喜欢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)
句法?