ホームページ  >  記事  >  バックエンド開発  >  FastAPI での継続的インテグレーションとリクエストの自動テストを実装する方法

FastAPI での継続的インテグレーションとリクエストの自動テストを実装する方法

WBOY
WBOYオリジナル
2023-07-29 15:17:111493ブラウズ

FastAPI で継続的インテグレーションとリクエストの自動テストを実装する方法

FastAPI は、シンプルで使いやすい API 開発エクスペリエンスを提供する、Python ベースの高性能 Web フレームワークです。同時に、継続的統合と自動テストは現代のソフトウェア開発において不可欠なリンクであり、プロジェクトの品質と開発効率を大幅に向上させることができます。この記事では、FastAPI で継続的インテグレーションとリクエストの自動テストを実装する方法を紹介し、対応するコード例を添付します。

まず、GitHub Actions、Jenkins、Travis CI などの継続的統合ツールを使用する必要があります。これらのツールは、FastAPI アプリケーションの構築、テスト、展開を自動化するのに役立ちます。

FastAPI アプリケーションでは、pytest を使用して自動テストを作成して実行する必要があります。 pytest は、信頼性の高い単体テスト、統合テスト、エンドツーエンド テストの作成に役立つ強力で使いやすい Python テスト フレームワークです。

サンプル FastAPI アプリケーションのコードは次のとおりです:

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
async def root():
    return {"message": "Hello World"}

プロジェクトのルート ディレクトリに、tests というディレクトリを作成し、これをテスト。

次は、root エンドポイントをテストする例です:

def test_root():
    from fastapi.testclient import TestClient
    from main import app

    client = TestClient(app)
    response = client.get("/")

    assert response.status_code == 200
    assert response.json() == {"message": "Hello World"}

上の例では、TestClient を使用して HTTP クライアントをシミュレートしました。 GET リクエストを root エンドポイントに送信し、返されたステータス コードと応答本文が期待どおりであるかどうかをアサートします。

コードが送信されたときにテストと lint チェックを自動的に実行するには、継続的統合ツールによって提供されるフックまたはコマンドを使用して、pytest ツールと lint ツールを呼び出すことができます。たとえば、次の内容を含む ci.yml という名前のファイルを .github/workflows ディレクトリに作成します。

name: Continuous Integration

on:
  push:
    branches:
      - main

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    - name: Check out code
      uses: actions/checkout@v2

    - name: Set up Python
      uses: actions/setup-python@v2
      with:
        python-version: 3.9

    - name: Install dependencies
      run: pip install -r requirements.txt

    - name: Run tests
      run: pytest

    - name: Run lint
      run: pylint main.py

上記の例では、連続コードが main ブランチにコミットされたときに実行される統合ジョブ。ジョブには、コードのチェックアウト、Python 環境のセットアップ、依存関係のインストール、テストの実行、lint の実行などの一連のステップが含まれています。

これは単なる例であり、すべてのプロジェクトに当てはまるわけではないことに注意してください。実際の状況に応じて、適切な修正や調整が必要になる場合があります。

継続的インテグレーションと自動テストにより、提出されたすべてのコードが自動テストと lint チェックを受けることを保証できるため、コードの品質と開発効率が向上します。 FastAPI で継続的インテグレーションとリクエストの自動テストを実装すると、高品質の API アプリケーションを効果的に構築し、維持することができます。

以上がFastAPI での継続的インテグレーションとリクエストの自動テストを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。