Klien Pengujian dan Fixture
Jalankan aplikasi dan klien untuk pengujian.
Klien Pengujian dan Fixture adalah pelajaran Flask Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Flask Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Flask Academy mencakup 4 pelajaran total.
Mengapa Anda Perlu Menguji App Flask
Pengujian memungkinkan Anda mengubah kode tanpa rasa khawatir. Dengan pytest, Anda dapat membuktikan setiap route masih berfungsi dalam hitungan detik, alih-alih mengeklik app secara manual. 🧪
Kenali Test Client
Flask menyediakan peramban tiruan bernama test client. Alat ini memanggil route Anda di memori, tanpa server atau jaringan nyata.
client = app.test_client()
resp = client.get('/')Dapatkan Client dari App Anda
Anda membuat client dengan memanggil app.test_client(). Pemanggilan ini mengembalikan objek yang metodenya mencerminkan kata kerja HTTP nyata seperti get dan post.
from app import app
client = app.test_client()Kirim Permintaan, Dapatkan Respons
Memanggil client.get('/') mengembalikan objek respons. Anda memeriksanya seperti respons sungguhan, tetapi semuanya berjalan secara langsung di dalam Python.
resp = client.get('/')
print(resp.status_code)Apa Itu Fixture
Fixture adalah kode penyiapan yang dapat digunakan kembali dan dijalankan pytest sebelum sebuah pengujian. Daripada membuat ulang client di setiap tempat, Anda mendefinisikannya sekali lalu menggunakannya kembali.
Tulis Fixture Client
Anotasi sebuah fungsi dengan @pytest.fixture lalu yield test client. Setiap pengujian yang mencantumkan namanya sebagai argumen akan menerima client baru.
@pytest.fixture
def client():
yield app.test_client()Minta Fixture Berdasarkan Nama
Untuk menggunakan fixture, cukup tambahkan namanya sebagai argumen pengujian. Pytest menemukan kecocokannya lalu memasukkan nilainya secara otomatis.
def test_home(client):
resp = client.get('/')
assert resp.status_code == 200yield dibandingkan return dalam Fixture
Menggunakan yield memungkinkan Anda menjalankan pembersihan setelah pengujian selesai. Kode sebelum yield adalah penyiapan; kode setelah yield membongkar semuanya.
@pytest.fixture
def client():
yield app.test_client()
print('cleanup here')Tempat Menaruh Fixture
Letakkan fixture bersama di file bernama conftest.py. Pytest menemukannya secara otomatis, sehingga setiap file pengujian dapat menggunakan fixture tersebut tanpa impor.
Penamaan File Pengujian
Pytest menemukan file yang diawali dengan test_ dan fungsi yang diberi nama dengan pola yang sama. Ikuti pola tersebut agar pengujian Anda berjalan dengan satu perintah.
# file: test_routes.py
def test_home(client):
...Jalankan Seluruh Rangkaian Pengujian
Dari root proyek, jalankan pytest di terminal. Pytest mengumpulkan setiap file pengujian, menjalankannya, lalu menampilkan ringkasan lulus atau gagal yang jelas.
$ pytest
2 passed in 0.04sPemeriksaan Singkat
Anda menginginkan test client yang dapat digunakan kembali. Bagaimana cara melakukannya?
Rangkuman: Client dan Fixture
Anda telah mengenal klien pengujian dalam memori dan mempelajari cara membagikannya dengan perlengkapan di conftest.py. Sekarang setiap pengujian dimulai dengan klien yang siap digunakan. 🎉
Belajar Python dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 30
- Pelajaran
- 120
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Klien Pengujian dan Fixture” gratis?
Ya — teks lengkap “Klien Pengujian dan Fixture” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Flask Academy, upgrade ke CoddyKit PRO. Kursus Flask Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Klien Pengujian dan Fixture”?
Jalankan aplikasi dan klien untuk pengujian. Kamu berlatih Flask Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Flask Academy?
Tidak diperlukan pengalaman sebelumnya. Flask Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.
Berapa lama pelajaran “Klien Pengujian dan Fixture” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Flask Academy ini?
Ya. Setiap pelajaran Flask Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Klien Pengujian dan Fixture
- Periksa Rute dan JSON
- Pisahkan Pengujian dengan Basis Data Pengujian
- Uji Titik Akhir yang Terautentikasi