http://nedbatchelder.com/code/coverage/のcoverage.pyを使用して私のdjangoユニットテストのカバレッジデータを取得していますが、どうやってdjangoデバッグサーバでカバレッジを実行できるかわかりません。djangoデバッグサーバでのコードカバレッジ
coverage -x manage.py runserver 0.0.0.0:8080
をして、このサーバーを停止するとき、私はカバレッジレポートを生成することができた使用してカバレッジデータを取得する必要があります:私は使ってDjangoのサーバを実行したいと思います。しかし、CTRL-cでサーバーをシャットダウンすると、私は
^CCoverage.py警告:データは収集されませんでした。
このcoverage.pyスクリプトを使用できない場合は、他のツールを使用する準備ができています。
UPDATE:それを作るのかわからない
traceback (most recent call last):
File "/usr/local/bin/coverage", line 8, in <module>
load_entry_point('coverage==3.5.1', 'console_scripts', 'coverage')()
File "/usr/local/lib/python2.6/dist-packages/coverage/cmdline.py", line 657, in main
status = CoverageScript().command_line(argv)
File "/usr/local/lib/python2.6/dist-packages/coverage/cmdline.py", line 549, in command_line
directory=options.directory, **report_args)
File "/usr/local/lib/python2.6/dist-packages/coverage/control.py", line 599, in html_report
reporter.report(morfs, config=self.config)
File "/usr/local/lib/python2.6/dist-packages/coverage/html.py", line 83, in report
self.report_files(self.html_file, morfs, config, config.html_dir)
File "/usr/local/lib/python2.6/dist-packages/coverage/report.py", line 86, in report_files
report_fn(cu, self.coverage._analyze(cu))
File "/usr/local/lib/python2.6/dist-packages/coverage/html.py", line 198, in html_file
self.write_html(html_path, html)
File "/usr/local/lib/python2.6/dist-packages/coverage/html.py", line 103, in write_html
write_encoded(fname, html, 'ascii', 'xmlcharrefreplace')
File "/usr/local/lib/python2.6/dist-packages/coverage/backward.py", line 137, in write_encoded
f.write(text.decode('utf8'))
File "/usr/lib/python2.6/encodings/utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xdf in position 59130: invalid continuation byte
いいえ私のプロジェクトには何も珍しいことはありません。私が持っているバージョンは、Ubuntu 10.10、django 1.3、coverage 3.5です。 – Divick
私は.coveragercにinclude = */views.pyが設定されている場合にのみデータを収集することができません。この行を削除すると、収集されたデータは取得されますが、コードには0%のカバレッジが表示されます(My .coveragercにはsource =があります)。ソースを削除すると=。設定では、私のプロジェクトでは、アプリケーション内に存在するファイルの名前は表示されません。私がunittestなしでデータを収集することを検討しているのは、単体テストのカバレッジは、人為的なテストのためだけにカバレッジ統計情報を伝え、特定のユーザインタラクションの実際のシナリオでカバレッジを教えてくれないからです。 – Divick
最初にインクルードディレクティブやソースディレクティブを使用せずに実行して、何が測定されているのかを完全に把握することができます。 –