Cara melaksanakan penyepaduan berterusan dan ujian automatik permintaan dalam FastAPI
FastAPI ialah rangka kerja web berprestasi tinggi berdasarkan Python yang menyediakan pengalaman pembangunan API yang ringkas dan mudah digunakan. Pada masa yang sama, penyepaduan berterusan dan ujian automatik adalah pautan yang sangat diperlukan dalam pembangunan perisian moden, yang boleh meningkatkan kualiti dan kecekapan pembangunan projek dengan banyak. Artikel ini akan memperkenalkan cara melaksanakan penyepaduan berterusan dan ujian automatik permintaan dalam FastAPI, dan melampirkan contoh kod yang sepadan.
Pertama, kita perlu menggunakan alat penyepaduan berterusan seperti GitHub Actions, Jenkins atau Travis CI. Alat ini membantu kami mengautomasikan pembinaan, ujian dan penggunaan aplikasi FastAPI kami.
Dalam aplikasi FastAPI kami, kami perlu menggunakan pytest untuk menulis dan menjalankan ujian automatik. pytest ialah rangka kerja ujian Python yang berkuasa dan mudah digunakan yang boleh membantu kami menulis ujian unit yang boleh dipercayai, ujian penyepaduan dan ujian hujung ke hujung.
Berikut ialah kod untuk contoh aplikasi FastAPI:
from fastapi import FastAPI app = FastAPI() @app.get("/") async def root(): return {"message": "Hello World"}
Dalam direktori akar projek kami, kami perlu mencipta direktori yang dipanggil 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工具。例如,在.github/workflows
目录中创建一个名为ci.yml
的文件,内容如下:
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
root
: rrreee
Dalam contoh di atas, kami menggunakanTestClient
untuk mensimulasikan klien HTTP dan menghantar permintaan GET kepada root titik akhir dan tegaskan sama ada kod status dan badan respons yang dikembalikan adalah seperti yang diharapkan. Untuk menjalankan ujian dan semakan lint secara automatik apabila kod diserahkan, kami boleh menggunakan cangkuk atau arahan yang disediakan oleh alat penyepaduan berterusan untuk memanggil alat pytest dan lint. Sebagai contoh, buat fail bernama ci.yml
dalam direktori .github/workflows
dengan kandungan berikut: 🎜rrreee🎜Dalam contoh di atas, kami mengkonfigurasi penyepaduan berterusan A kerja yang dijalankan apabila kod diberikan kepada cawangan utama
. Tugas ini terdiri daripada satu siri langkah, termasuk menyemak kod, menyediakan persekitaran Python, memasang kebergantungan, menjalankan ujian dan menjalankan lint. 🎜🎜Perlu diingat bahawa ini hanyalah satu contoh dan tidak terpakai kepada semua projek. Bergantung pada situasi sebenar, pengubahsuaian dan pelarasan yang sesuai mungkin diperlukan. 🎜🎜Melalui penyepaduan berterusan dan ujian automatik, kami boleh memastikan bahawa setiap penyerahan kod akan melalui ujian automatik dan semakan lint, dengan itu meningkatkan kualiti kod dan kecekapan pembangunan. Melaksanakan penyepaduan berterusan dan ujian automatik permintaan dalam FastAPI boleh membantu kami membina dan mengekalkan aplikasi API berkualiti tinggi dengan berkesan. 🎜Atas ialah kandungan terperinci Cara melaksanakan penyepaduan berterusan dan ujian automatik permintaan dalam FastAPI. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!