如何在Pycharm中运行Scrapy单元测试

ome*_*fer 5 python scrapy pycharm python-2.7

我正在使用Pycharm,尝试运行scrapy单元测试 - 但它无法运行.错误是缺少进口,似乎所有进口都失败了.例如

 Import error... "no module named mock"
Run Code Online (Sandbox Code Playgroud)

我做了什么:

  1. 从github获得scrapy

  2. 运行pip以从requirements.txt安装所有依赖项

  3. 安装TOX,确保我可以使用TOX运行测试.

  4. 配置Pycharm以使用py.test运行测试

我正在研究Ubuntu 14.04,Python 2.7.

ale*_*cxe 4

您还需要另外 pip install测试要求

pip install -r tests/requirements.txt  # Python 2
pip install -r tests/requirements-py3.txt  # Python 3
Run Code Online (Sandbox Code Playgroud)

这将安装该mock包并解决no module named mockPython 2 上的问题(假设您正在安装到相同的环境中,并且正在从中运行测试)。


请注意,要运行测试,您应该使用tox(这也会requirements.txt在测试运行设置阶段安装缺少的依赖项):

tox -- tests/test_loader.py
Run Code Online (Sandbox Code Playgroud)

(刚刚完成所有这些,测试正在运行并为我通过)。

仅供参考,这是我的 Tox 运行程序的 PyCharm 配置:

在此输入图像描述