Django/Python でテスト範囲を最大限に広げるためのベストプラクティスは? 質問する

Django/Python でテスト範囲を最大限に広げるためのベストプラクティスは? 質問する

私のテストはひどく不足しており、あまり信頼できません。Django/Pythonを使用してテストカバレッジを最大限に高めるためのベストプラクティスは何ですか?私はリフレッシュそしてレタス、かなり有望に見えますが、私はそれらを使用することができませんすべてできますか? 実稼働環境に新しいコードをデプロイするときに自信を持てるように、テストを使用してワークフロー/プロジェクトを構成する方法についてアドバイスを求めています。

ベストアンサー1

  1. コーディングをやめてください。

  2. アプリケーションが実行することになっていることに対するテストを記述します。

まず、組み込みの Django テストを使用します。models.py 内に TestCase クラスとしてモデル テストを記述します。

今すぐ実行してください。先を読む前に、django.test.TestCaseモデル オブジェクトを作成、変更、取得するクラスを今すぐ追加してください。定義した各プロパティ、属性、または追加メソッドにテスト メソッドがあることを確認してください。

それが終わるまで待ちます。


モデルテストは完了しましたか? よかったです。

次に、各アプリケーションに tests.py ファイルを作成します。すべて 1 つずつ。すべて空です。

各 tests.py ファイルで、django.test.TestCase各フォームのクラスを作成します。

今すぐ実行してください。良いフォームと悪いフォームを作成します。個々のフィールド検証の問題ごとにフォームを作成します。

不正なデータのすべての可能な順列を作成しないでください。個々の検証ルールごとに 1 つのテスト ケースのみを作成します。

今すぐ実行してください。先を読む前に、django.test.TestCase各フォームの tests.py にクラスを追加します。

それが終わるまで待ちます。


ここで、各ビュー関数をテストする必要があります。これらも tests.py ファイルに格納されます。各ビュー関数には、使用しているさまざまなデコレータに応じて、少なくとも 2 つのテスト ケース (場合によってはそれ以上) があります。

ビュー機能にログインが必要な場合は、ログインしている場合とログインしていない場合の 2 つのケースがあります。

表示機能に権限が必要な場合は、少なくとも 3 つのケースが考えられます: ログインしていない、間違ったユーザーとしてログインしている、正しいユーザーとしてログインしている。

今のところ、ビュー関数が何かそして、正しいデータを含む正しい HTML テンプレートを返します。 あまり気にしないでください。 すべてのビュー関数が実際に期待どおりのページを返すことを確認するだけで十分です。 それ以上のことはありません。

今すぐ実行してください。先を読む前に、django.test.TestCase各ビュー関数のクラスを tests.py に追加します。

それが終わるまで待ちます。


これらはあなたが書くべきテストです初めアプリケーション コードを書く前に。

これにより、アプリケーションが最低限実行されることを確認するテスト ベースラインが提供されます。

それが完了したら、アプリケーションの背後にある実際の目的と価値を反映する単体テストを検討し始めることができます。

おすすめ記事