nosetestsとDjango Webアプリケーションでカバレッジを使用して、いくつかのコードカバレッジで小さな問題に走っています。私は大量のコード(クラス宣言のようなもの)を除外するために.coveragercファイルを作成しましたが、私はまだ奇妙な結果を得ています。ここでNosetestsとカバレッジラインを除外しない
私.coveragercファイルです:
[run]
omit = ../*migrations*, ../*admin.py
[report]
show_missing = True
exclude_lines =
pragma: no cover
from
= models\.
これはmodels.pyファイルの一つの例である:私はコードカバレッジを実行すると
from django.db import models
class Query(models.Model):
variable1 = models.CharField(max_length=100)
variable2 = models.CharField(max_length=100)
variable3 = models.CharField(max_length=100)
variable4 = models.CharField(max_length=100)
variable5 = models.CharField(max_length=100)
id = models.AutoField(primary_key=True)
def some_function(self):
self.variable1 = self.variable2 + self.variable3 + self.variable4 + self.variable 5
return self.variable1
だから、問題は私がに実行私がカバレージに "= models。"という文字列を明示的に除外するように指示しているにもかかわらず、コマンドラインで指定されたレポートに行がないと表示されます。これは、私がテストケースで実際にカバーしていないラインを特定することを非常に困難にしています。誰もこれにいくつかの洞察を提供することはできますか?
モデル定義行を実行していないテストをどのように実行できますか?カバレッジが実行されていないと言えば、カバレッジが間違っている可能性があり、計測が遅すぎます。 「from」を除外しようとする試みは、同じ問題の別の兆候です。これらの行を除外しないでください。カバレッジを早期に実行するこの回答を参照してください:http://stackoverflow.com/a/30653523/14343 –
問題を修正しました。私は他の質問へのリンクを感謝します。 –