問題タブ [pytest-django]

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.

0 投票する
2 に答える
10861 参照

python - Django テスト VS pytest


私はdjangounittestpytest. pytestしかし、テストケースの方がコンパクトでわかりやすいと感じるようになりました。

これが私のテストケースです:

pytestで、バージョンはこちら

からの利点pytestfixture別のファイルにあります。それらを入力パラメーターにすることで、テストケースをコンパクトにします。

Django を使用するメリットはありますunittestpytest?

更新: 2017 年 7 月 1 日
更新: 2017 年 7 月
5 日 更新: 2017 年 9 月 1
日 更新: 2017 年 9 月 29 日
更新: 2017 年 12 月 26 日

  1. Pytest は、テスト中にフィクスチャが変更されたときの問題を軽減します。そのランはtestcases個別に合格しましたが、徹底的に実行すると失敗します。
  2. エラーが発生した場合、Pytest はアサーション出力を表示します。Django の単体テストはそうではありません。自分でブレークポイントを設定し、エラーを調査する必要があります。
  3. Pytest では、単純なデコレータで実際のデータベースを使用できます。Django テストはしません。ジョブ用に独自のカスタマイズされたコマンドを作成する必要があります
  4. Pytest はジェネリックです。ジェネリックであることは、Django 以外のプロジェクトで快適に作業できることを意味します。たとえば、Flask + APScheduler、PyRad などのサードパーティなどのマイクロサービスを構築する必要がある場合などです。これについて言及するのは、バックエンドで Django を 50% 使用しているためですPython
  5. Pytest は多重継承を使用してフィクスチャを作成していません
  6. Unittest は、追加の構成なしでスムーズに実行することにより、ランナーとしてgitlab-ci使用すると Pytestよりも有利になります。問題Docker