Flask Academy · Pelajaran

Klien Pengujian dan Fixture

Jalankan aplikasi dan klien untuk pengujian.

Pelajaran 1 dari 413 langkah

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 == 200

yield 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.04s

Pemeriksaan 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. 🎉

Gratis untuk memulai

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

  1. Klien Pengujian dan Fixture
  2. Periksa Rute dan JSON
  3. Pisahkan Pengujian dengan Basis Data Pengujian
  4. Uji Titik Akhir yang Terautentikasi
← Kembali ke Flask Academy