Pisahkan Pengujian dengan Basis Data Pengujian
Gunakan DB sementara untuk setiap proses pengujian.
Pisahkan Pengujian dengan Basis Data Pengujian adalah pelajaran Flask Academy gratis di CoddyKit. Ini adalah pelajaran 3 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 Basis Data Perlu Diisolasi
Pengujian tidak boleh menyentuh data nyata Anda. Basis data pengujian menjaga setiap proses tetap bersih, sehingga satu pengujian tidak akan merusak pengujian lain atau baris produksi Anda.
Gunakan Basis Data SQLite Sekali Pakai
Pilihan yang mudah adalah basis data SQLite dalam memori. Basis data ini hanya hidup di RAM dan menghilang saat proses pengujian berakhir.
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///:memory:'Aktifkan Konfigurasi Pengujian
Atur TESTING menjadi True sebelum pengujian dijalankan. Ini menonaktifkan penanganan kesalahan sehingga pengecualian terlihat jelas dalam keluaran Anda.
app.config['TESTING'] = TrueBangun Skema Baru
Di dalam konteks aplikasi, panggil db.create_all(). Perintah ini membangun setiap tabel dari model Anda sehingga setiap proses pengujian dimulai dari skema kosong.
with app.app_context():
db.create_all()Hapus Setelah Pengujian
Setelah pengujian, panggil db.drop_all() untuk menghapus setiap tabel. Ini menjamin proses berikutnya tidak mewarisi baris yang tersisa.
with app.app_context():
db.drop_all()Masukkan ke Perlengkapan
Bungkus penyiapan dan pembongkaran dalam satu perlengkapan. Kode sebelum yield membuat skema; kode setelahnya menghapus semuanya dengan bersih.
@pytest.fixture
def app_db():
db.create_all()
yield
db.drop_all()Isi Data Contoh
Banyak pengujian memerlukan baris yang sudah diketahui untuk dibaca. Tambahkan sebuah rekaman dalam perlengkapan, lalu commit agar pengujian dimulai dari keadaan yang dapat diprediksi.
db.session.add(User(name='Ada'))
db.session.commit()Mengapa Keadaan Baru Itu Penting
Pengujian harus berhasil dalam urutan apa pun. Isolasi berarti setiap pengujian melihat data awal yang sama, sehingga hasilnya tidak pernah bergantung pada hal yang dijalankan sebelumnya.
Batalkan Perubahan Antar-Pengujian
Alternatif untuk membuat ulang tabel adalah rollback. Bungkus setiap pengujian dalam transaksi dan batalkan setelahnya untuk mendapatkan keadaan bersih dengan cepat.
db.session.rollback()Pisahkan Konfigurasi Pengujian
Simpan pengaturan pengujian dalam kelas TestConfig khusus. Pabrik Anda hanya memuatnya selama pengujian, bukan dalam pengembangan atau produksi.
class TestConfig:
TESTING = True
SQLALCHEMY_DATABASE_URI = 'sqlite:///:memory:'Jangan Pernah Menguji Produksi
Selalu periksa ulang bahwa URI mengarah ke basis data pengujian. Mengarahkan pengujian ke data produksi adalah cara tercepat untuk kehilangan rekaman nyata.
Pemeriksaan Cepat
Anda ingin pengujian yang tidak pernah membahayakan data nyata. Basis data apa yang Anda gunakan?
Ringkasan: Basis Data Pengujian
Anda menyiapkan basis data pengujian yang bersih, mengisi data yang diketahui, lalu menghapusnya setelah selesai. Kini pengujian Anda cepat, dapat diulang, dan aman. 🗄️
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 “Pisahkan Pengujian dengan Basis Data Pengujian” gratis?
Ya — teks lengkap “Pisahkan Pengujian dengan Basis Data Pengujian” 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 “Pisahkan Pengujian dengan Basis Data Pengujian”?
Gunakan DB sementara untuk setiap proses 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 3 dari 4.
Berapa lama pelajaran “Pisahkan Pengujian dengan Basis Data Pengujian” 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