Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
AWS Lambda pengujian fungsi dalam Python
catatan
Lihat bagian Fungsi pengujian untuk pengenalan lengkap tentang teknik dan praktik terbaik untuk menguji solusi tanpa server.
Menguji fungsi tanpa server menggunakan jenis dan teknik pengujian tradisional, tetapi Anda juga harus mempertimbangkan pengujian aplikasi tanpa server secara keseluruhan. Cloud-based pengujian memberikan ukuran kualitas yang paling akurat dari fungsi Anda dan aplikasi tanpa server.
Arsitektur aplikasi tanpa server mencakup layanan terkelola yang menyediakan fungsionalitas aplikasi penting melalui panggilan API. Untuk alasan ini, siklus pengembangan Anda harus mencakup pengujian otomatis yang memverifikasi fungsionalitas ketika fungsi dan layanan Anda berinteraksi.
Jika Anda tidak membuat pengujian berbasis cloud, Anda dapat mengalami masalah karena perbedaan antara lingkungan lokal dan lingkungan yang digunakan. Proses integrasi berkelanjutan Anda harus menjalankan pengujian terhadap rangkaian sumber daya yang disediakan di cloud sebelum mempromosikan kode Anda ke lingkungan penerapan berikutnya, seperti QA, Staging, atau Produksi.
Lanjutkan membaca panduan singkat ini untuk mempelajari tentang strategi pengujian untuk aplikasi tanpa server, atau kunjungi repositori Sampel Pengujian Tanpa Server
Untuk pengujian tanpa server, Anda masih menulis unit, integrasi, dan pengujian ujung ke ujung.
-
Tes unit - Pengujian yang berjalan terhadap blok kode yang terisolasi. Misalnya, memverifikasi logika bisnis untuk menghitung biaya pengiriman yang diberikan item dan tujuan tertentu.
-
Tes integrasi - Pengujian yang melibatkan dua atau lebih komponen atau layanan yang berinteraksi, biasanya di lingkungan cloud. Misalnya, memverifikasi fungsi memproses peristiwa dari antrian.
-
End-to-end pengujian - Pengujian yang memverifikasi perilaku di seluruh aplikasi. Misalnya, memastikan infrastruktur diatur dengan benar dan bahwa peristiwa mengalir antar layanan seperti yang diharapkan untuk mencatat pesanan pelanggan.
Menguji aplikasi tanpa server
Anda biasanya menggunakan campuran pendekatan untuk menguji kode aplikasi tanpa server Anda, termasuk pengujian di cloud, pengujian dengan tiruan, dan kadang-kadang pengujian dengan emulator.
Pengujian di cloud
Pengujian di cloud sangat berharga untuk semua fase pengujian, termasuk pengujian unit, pengujian integrasi, dan pengujian ujung ke ujung. Anda menjalankan pengujian terhadap kode yang digunakan di cloud dan berinteraksi dengan layanan berbasis cloud. Pendekatan ini memberikan ukuran kualitas kode Anda yang paling akurat.
Cara mudah untuk men-debug fungsi Lambda Anda di cloud adalah melalui konsol dengan acara pengujian. A cara pengujian adalah input JSON ke fungsi Anda. Jika fungsi Anda tidak memerlukan input, acara dapat berupa dokumen JSON kosong({}). Konsol menyediakan acara sampel untuk berbagai integrasi layanan. Setelah membuat acara di konsol, Anda dapat membagikannya dengan tim Anda untuk membuat pengujian lebih mudah dan konsisten.
catatan
Menguji fungsi di konsol adalah cara cepat untuk memulai, tetapi mengotomatiskan siklus pengujian Anda memastikan kualitas aplikasi dan kecepatan pengembangan.
Alat pengujian
Alat dan teknik ada untuk mempercepat loop umpan balik pengembangan. Misalnya, AWS SAM Accelerate dan mode AWS tontonan CDK keduanya mengurangi waktu yang diperlukan untuk memperbarui lingkungan cloud.
Moto
Fitur validasi Powertools for AWS Lambda (Python) menyediakan dekorator sehingga Anda dapat memvalidasi peristiwa input dan respons keluaran dari fungsi Python Anda.
Untuk informasi lebih lanjut, baca posting blog Unit Pengujian Lambda dengan Python dan AWS Layanan
Untuk mengurangi latensi yang terlibat dengan iterasi penerapan cloud, lihat Acceler AWS ate Serverless Application Model (AWS SAM), AWS Cloud Development Kit (AWS CDK) mode tontonan. Alat-alat ini memantau infrastruktur dan kode Anda untuk perubahan. Mereka bereaksi terhadap perubahan ini dengan membuat dan menerapkan pembaruan tambahan secara otomatis ke lingkungan cloud Anda.
Contoh yang menggunakan alat ini tersedia di repositori kode sampel pengujian