問題タブ [python-coverage]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - コマンドラインで生成された python .coverage ファイルを PyDev と統合する
私のビルド環境は、コマンド ラインで (Ned Batchelder coverage.py ツールを使用して) カバレッジ ファイルをコンパイル、実行、および作成するように構成されています。
私はエディターとして PyDev で Eclipse を使用していますが、実用的な理由から、ビルド環境全体を Eclipse に変換することは不可能であり、便利ではありません (したがって、IDE から直接カバレッジ データを生成するように設計されています)。
PyDev は、カバレッジ情報を生成するために同じカバレッジ ツール (またはそれに非常に類似したもの) を使用しているようです。
これを行う方法について何か考えはありますか?
python - 特定の python 構造で単体テストとカバレッジを実行する
私はいくつかの面白い初心者の問題を抱えています。
コマンドラインから単体テストを実行しようとしています:
目的のフォルダーで実行しようとすると、これと同じことが起こります。
H:\PRO\pyEstimator\src\test\python>python test_power_estimator.py
私のフォルダ構造は次のようになります。
多分私は明らかな何かを見ません。また、カバレッジを実行しようとします。このアプローチは良いですか(ファイル構造)?
python - Python & Coverage を使用した Hudson ビルドの失敗
Hudson for Pythonをセットアップするために、Joe Heck のこのチュートリアルを完了しました。カバレッジセクションを除いて、すべてが完全に機能しました。私のビルドは次の出力で失敗しました:
Execute 引数 -x を含めようとしましたが、最終的にはアクセス許可の失敗が原因である例外が発生しました。
ハドソンでカバレッジが正常に動作するようになった人はいますか?
python - 大きな Python プロジェクトの適切なテスト カバレッジを確保するにはどうすればよいですか
非常に大規模なテスト スイートを含む非常に大規模な python プロジェクトがあります。最近、テストカバレッジの品質を定量化することにしました。
テスト カバレッジ レポートの生成を自動化するツールを探しています。理想的には、魅力的で読みやすいレポートを作成したいと考えていますが、すぐに機能させることができれば、それほど魅力的ではないレポートでも構いません。
Nose を試しましたが、十分ではありません。distribute / setuptools の名前空間パッケージ機能と互換性がありません。残念ながら、私たちはこの機能を多用しているため、鼻を覆うことは決してうまくいきません。ノーズはハドソンで本当にうまく機能しているように見えるので、それは本当に残念です(ほとんど)
別の方法として、Eclipse で Python カバレッジ分析を行う方法があると聞いたことがありますが、完璧な手法を完全に特定することはできませんでした。
どんな提案でも大歓迎です!
参考までに、Windows XP 32 ビットで Python 2.4.4 を使用しています。
python - Python テスト スイート ファイルのカバレッジが 100% にならないのはいつですか?
テスト スイートのコード カバレッジをレポートするために、Hudson と coverage.py を使用しています。ハドソンはカバレッジを次のように分類します。
- パッケージ
- ファイル
- クラス
- 行
- 条件文
Coverage.py は、テスト中に実行/インポートされたファイルのカバレッジのみを報告するため、テスト中に実行されなかったファイルには気付かないようです。ファイルが 100% のカバレッジを報告しないインスタンスはありますか?
python - Python パッケージを含むノーズテストのカバレッジ
私は、nosetests を使用していくつかの単体テストを実行し、次のようなものを使用してコード カバレッジを表示しています。
出力に多数の Python パッケージが表示されることを除けば、これはうまく機能します。サンプルは次のとおりです。
これらのパッケージを除外するにはどうすればよいですか?
python - Pythonは、カバレッジとノーズの下で実行されている場合、サブモジュールを認識しません
Coverage.pyを使用して一連のテストを実行すると、インポートエラーが発生します。ここで、noseは基礎となるテストランナーです。代わりにPythonで実行すると、テストは正常に実行されます。
これはパスエラーではないようです。代わりに、「カバレッジ実行」を実行してテストを実行すると、「nova」モジュールのサブモジュールが表示されないようです。失敗していたメソッドに次のコードを追加することで、これを見つけました。
これをとして実行するとpython run_tests.py
、次の出力が表示されます。
ただし、これをとして実行するとcoverage run run_tests.py
、次の出力が表示されます。
いずれの場合も同じ場所でnovaモジュールを見つけているようですが、カバレッジを指定して実行した場合、Pythonはほとんどのサブモジュール(auth、compute、...)consoleを認識しません。
noseにカバレッジプラグインを使用する場合、この問題は発生しないことに注意してください。ただし、この特定のケースでは、プラグインを使用したくありません。
python - Pythonのcoverage.pyを取得して、それをインポートするモジュールのカバレッジを収集しますか?
私はcoverage.pyをいじくり回してきましたが、__main__
モジュールのカバレッジを収集するためにそれを取得できないようです。
私はWindowsを使用しており、IDLEを使用してスクリプトをハックするのが好きです。edit-hit-F5サイクルは本当に便利で、速く、そして楽しいです。残念ながら、coverage.pyはメインモジュールのカバレッジを収集できる(または進んで)ようには見えません。以下のコードでは、データが収集されていないことを報告しています。私のコードは次のようになります。
誰かアイデアはありますか?私はカバレッジにさまざまなオプションを試しましたが、役に立ちませんでした。sys.modules['__main__']
IDLEが作成する環境は、実行中のファイルではなく、idle.pywファイルを指しているため、カバレッジに対してあまり友好的ではないようです。
python - Python:カバレッジでノーズ テストを実行すると AssertionError が発生する
私はPythonのテストにかなり慣れているので、これは私が間違っていることかもしれません..
テストを実行すると、テストランナーは正常に動作し、カバレッジも..しかし、2つの間にアサーションエラーが発生します:
さらに難しくするために、コマンド ライン ユーティリティをテストしようとしています。つまり、サブプロセス呼び出しをカバーするようカバレッジに指示する必要がありました。
カバレッジが実行中のスクリプトのカバー率を報告するようになったので、この部分が機能したと思います。しかし、カバレッジが機能しているため、AssertionError を取り除くことはできません。
何が間違っているのかを理解するのに役立つ人もいます。私のコードはすべて github で入手できます。
クイックラン:
ありがとう
アップデート
別のコンピューターでテストを実行しましたが、同じ AssertionError .. と新しい TypeError が発生しました。繰り返しますが、テストは正しく実行され、カバレッジもこれらのエラーがあっても正しく機能しているようです..
python - NedBatchelderのカバレッジツールのPythonのデフォルトバージョンを変更する
タイトルはほとんどそれを言います。unittest
PythonのPython2.5から2.7への変更に関連して問題が発生しています。Pythonでテストスクリプトを実行すると
それはうまくいきます。しかし、カバレッジツールを使おうとすると
assertRaisesRegexp
それは私のサブクラスの属性ではないと言ってクラッシュしますTestCase
。これは、カバレッジツールがpython 2.5を使用unittest.TestCase.assertRaisesRegexp
していて、2.5には存在しないためであることがわかりました。
とにかく、誰かがカバレッジで使用されるPythonを変更する方法を教えてもらえますか?
編集:カバレッジの卵は/Library/Python/2.5/site-packagesにあります。それは重要ですか?