17

私はpython モジュール@numba.jitを作成しました。その多くは、速度を上げるためにデコレータでラップされています。また、このモジュールの多くのテストを作成し、( Travis-CIで) を使用して実行しましpy.testた。今、私はこれらのテストの範囲を調べようとしてpytest-covます.coverage

残念ながら、numba.jitこれらすべての関数を使用するcoverageと、関数が使用されていないと思われるようです。これは一種のケースです。したがって、基本的に、テストで報告されたカバレッジは得られません。そのコードを取得してコンパイルするので、これは大きな驚きではありませんnumba。したがって、コード自体は実際には使用されません。しかし、私はあなたがPythonで時々見る魔法のいくつかがあることを望んでいました...

これら 2 つの優れたツールを組み合わせる便利な方法はありますか? それができない場合、numba でカバレッジを測定するために使用できる他のツールはありますか?

[ここで違いを示す最小限の実例を作成しました。)

4

2 に答える 2

6

最善の方法は、カバレッジ測定中は numba JIT を無効にすることです。それは、Python コードと JIT されたコードの間の対応を信頼できるかどうかにかかっていますが、いずれにせよ、それをある程度信頼する必要があります。

于 2014-11-12T19:03:36.247 に答える