2016-09-11 3 views
5

私はPycharmで作業していて、scrapy unit testsを実行しようとしていますが、実行に失敗します。 エラーはインポートの欠落のため、すべてのインポートが失敗しているようです。例: PycharmでのScrapy unit testsの実行

私が何をしたか
Import error... "no module named mock" 

:requirements.txt

TOXインストール
  • からすべての依存関係をインストールするための

    1. 取得scrapy githubのから

    2. 実行ピップ、私は実行することができますを確認しましたTOXを使ったテスト。私はUbuntuの14.04、Pythonの2.7に取り組んでいますpy.test

    を使用してテストを実行するための

  • 設定さPycharm。

  • 答えて

    4

    あなたはさらにピップtests requirementsをインストールする必要があります。

    mockパッケージをインストールし、(あなたからテストを実行している、あなたが同じ環境にインストールしていると仮定した場合)はPython 2の no module named mockを解決するだろう
    pip install -r tests/requirements.txt # Python 2 
    pip install -r tests/requirements-py3.txt # Python 3 
    


    テストを実行するために、あなたは(もテスト実行のセットアップ段階requirements.txtから欠落している依存関係をインストールあろう)toxを使用する必要があります。注:

    tox -- tests/test_loader.py 
    

    (ちょうどそれのすべてを行い、テストは実行され、私のために渡されます)。

    はFYI、ここに私のPyCharm構成はTOXランナーのためである:

    enter image description here

    +0

    おかげで、私はTOXを使用するようにPycharmを設定する必要があります意味ですか? –

    +0

    @omerschleifer私は 'pytest'ランナーが依存関係を' pip'(答えの最初の部分)でインストールした後にテストを実行することができると思います。ちなみに、この場合の 'py.test'コマンドは' py.test --cov = scrapy --cov-report = tests/test_loader.py'のようになります。または、2番目のオプションでは、テストを実行するためにtoxを設定します(この場合、自動的に依存関係がインストールされます)。これはドキュメントで推奨されるため、おそらく良い方法です。 – alecxe

    +0

    アグアンに感謝していますが、テストの要件をインストールした後も、以前と同じようにtoxを使って実行できますが、Pycharmのスタジオでは失敗します。私はpycharmのランナーとして毒素を設定するオプションが表示されません –

    関連する問題