Flask Academy · Pelajaran

Klien Ujian dan Lekapan

Mulakan aplikasi dan klien untuk ujian.

Pelajaran 1 daripada 413 langkah

Klien Ujian dan Lekapan ialah pelajaran Flask Academy percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Flask Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Flask Academy merangkumi sejumlah 4 pelajaran.

Mengapa Menguji Aplikasi Flask

Ujian membolehkan anda mengubah kod tanpa rasa bimbang. Dengan pytest, anda boleh membuktikan setiap route masih berfungsi dalam beberapa saat, dan bukannya mengklik aplikasi secara manual. 🧪

Kenali Client Ujian

Flask menyediakan pelayar palsu yang dipanggil client ujian. Ia memanggil route anda dalam memori tanpa pelayan atau rangkaian sebenar.

client = app.test_client()
resp = client.get('/')

Dapatkan Client daripada Aplikasi

Anda membina client dengan memanggil app.test_client(). Ia memulangkan objek yang kaedahnya menyerupai kata kerja HTTP sebenar seperti get dan post.

from app import app
client = app.test_client()

Hantar Permintaan, Dapatkan Respons

Memanggil client.get('/') memulangkan objek respons. Anda memeriksanya seperti respons sebenar, tetapi semuanya dijalankan serta-merta dalam Python.

resp = client.get('/')
print(resp.status_code)

Apakah Fixture

Fixture ialah kod persediaan boleh guna semula yang dijalankan oleh pytest sebelum sesuatu ujian. Daripada membina semula client di setiap tempat, anda mentakrifkannya sekali dan menggunakannya semula.

Tulis Fixture Client

Hiaskan fungsi dengan @pytest.fixture dan hasilkan client ujian. Mana-mana ujian yang menamakannya sebagai argumen akan menerima client baharu.

@pytest.fixture
def client():
    yield app.test_client()

Minta Fixture Mengikut Nama

Untuk menggunakan fixture, tambahkan namanya sebagai argumen ujian. Pytest mengenal pasti padanan itu dan menyuntik nilainya secara automatik.

def test_home(client):
    resp = client.get('/')
    assert resp.status_code == 200

yield Berbanding return dalam Fixture

Menggunakan yield membolehkan anda menjalankan pembersihan selepas ujian selesai. Kod sebelum yield ialah persediaan; kod selepas yield merungkai semuanya.

@pytest.fixture
def client():
    yield app.test_client()
    print('cleanup here')

Tempat Meletakkan Fixture

Letakkan fixture dikongsi dalam fail bernama conftest.py. Pytest menemuinya secara automatik, jadi setiap fail ujian boleh menggunakan fixture tersebut tanpa import.

Menamakan Fail Ujian

Pytest menemui fail yang bermula dengan test_ dan fungsi yang dinamakan dengan cara yang sama. Ikuti corak itu supaya ujian anda dijalankan dengan satu arahan.

# file: test_routes.py
def test_home(client):
    ...

Jalankan Keseluruhan Set Ujian

Dari akar projek anda, jalankan sahaja pytest dalam terminal. Ia mengumpulkan setiap fail ujian, menjalankannya dan mencetak ringkasan lulus atau gagal yang jelas.

$ pytest
2 passed in 0.04s

Semakan Pantas

Anda mahukan client ujian yang boleh digunakan semula. Bagaimanakah caranya?

Ringkasan: Client dan Fixture

Anda telah mengenali klien ujian dalam memori dan belajar berkongsinya dengan lekapan dalam conftest.py. Kini setiap ujian bermula dengan klien yang sedia digunakan. 🎉

Percuma untuk bermula

Pelajari Python dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
30
Pelajaran
120

Soalan Lazim

Adakah pelajaran “Klien Ujian dan Lekapan” percuma?

Ya — teks penuh “Klien Ujian dan Lekapan” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Flask Academy, tingkat taraf kepada CoddyKit PRO. Kursus Flask Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Klien Ujian dan Lekapan”?

Mulakan aplikasi dan klien untuk ujian. Anda berlatih Flask Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Flask Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Flask Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.

Berapa lamakah pelajaran “Klien Ujian dan Lekapan” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Flask Academy ini?

Ya. Setiap pelajaran Flask Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Klien Ujian dan Lekapan
  2. Tegaskan Laluan dan JSON
  3. Asingkan Ujian dengan Pangkalan Data Ujian
  4. Uji Titik Akhir yang Disahkan
← Kembali ke Flask Academy