2013-01-23 13 views
47

プラグインがインストールされているにもかかわらず、Noseでコードカバレッジが機能しないようです。Python Noseを修正する方法:カバレッジが利用できません:カバレッジモジュールをインポートできません

これを修正する方法についてのご意見はありますか?

12:15:25 ~/sandbox/ec$ nosetests --plugins 
Plugin xunit 
Plugin deprecated 
Plugin skip 
Plugin multiprocess 
Plugin failuredetail 
Plugin capture 
Plugin logcapture 
Plugin coverage 
Plugin attributeselector 
Plugin doctest 
Plugin profile 
Plugin id 
Plugin allmodules 
Plugin collect-only 
Plugin isolation 
Plugin pdb 

12:15:34 ~/sandbox/ec$ nosetests -v --with-coverage 
nose.plugins.cover: ERROR: Coverage not available: unable to import coverage module 
tests.edgecast_client_tests.test_log ... ok 

---------------------------------------------------------------------- 
Ran 1 test in 0.206s 

OK 

答えて

80

pip install coverageを試しましたか?カバレッジプラグインは、別のカバレッジモジュールに依存します。これは、鼻の依存性ではないため、手動でインストールする必要があります。

+3

debian/ubuntuにインストールすることができます。 'apt-get install python-coverage'を使ってインストールすることもできます。 – mnagel

+2

私は両方の方法でインストールしましたが、それでも同じエラーが表示されます。 –

+3

virtualenvにカバレッジパッケージがインストールされていても、元の質問に同じエラーが表示されました。私の問題は、nosetestsコマンドが私のシステム全体の鼻の設置から来ていることでした。私はシステム全体でカバレッジを持っていませんでした。私のvirtualenvで実行可能ファイルへのフルパスをprependingすることによって、/ path/to/virtualenv/bin/nosetests --with-coverageが働いた。 – velotron