Ringkasan. dalam tutorial ini, Anda akan belajar tentang kelas Mock Python unittest dan cara menggunakannya untuk mengejek kelas lain Show Pengantar kelas Mock Python unittestMocks mensimulasikan perilaku objek nyata. Untuk menguji objek yang bergantung pada objek lain secara terisolasi, Anda menggunakan objek tiruan untuk meniru objek nyata Untuk mengejek objek, Anda menggunakan modul 7. Modul 7 menyediakan kelas 9 yang memungkinkan Anda untuk mengejek objek lain Ini juga menyediakan kelas _0 yang merupakan subkelas dari kelas 9. Selain metode dan properti kelas 9, kelas 0 memiliki implementasi dari semua metode dunder e. g. , __str__ dan __repr__ Lihat contoh berikut
Keluaran
Bagaimana itu bekerja Pertama, impor kelas _9 dari modul 7
Kedua, buat instance baru dari kelas ________0______9
Ketiga, tiru fungsi _7 dan tetapkan nilai pengembaliannya ke kamus
Terakhir, panggil _7 dari objek tiruan. Itu akan mengembalikan nilai yang ditetapkan
Dalam contoh ini, kami memiliki dua objek tiruan. 9 & 0 Mari tambahkan pernyataan _1 ke program untuk melihat cara kerjanya
Keluaran
Keluarannya menunjukkan dua objek _9 Singkatnya, jika Anda menetapkan properti yang tidak ada pada objek 9, Python akan mengembalikan objek tiruan baru. Karena dinamika ini, Anda dapat menggunakan kelas ________0______9 untuk mengejek objek apa pun yang Anda inginkan Kapan menggunakan tiruanIni adalah kasus yang dapat Anda pertimbangkan untuk menggunakan tiruan
Mengapa menggunakan tiruanBerikut ini adalah manfaat dari mock
Contoh Mock Python UnittestMisalkan Anda memiliki modul bernama 5
Di sensor. modul py
Akan sulit untuk menguji fungsi 0 karena nilai yang dikembalikan oleh fungsi 6 bervariasi. Untuk mengatasinya, Anda dapat menggunakan kelas ________0______9 Berikut ini membuat modul pengujian _3 yang menguji fungsi 0
Bagaimana itu bekerja Pertama, tetapkan objek Mock ke fungsi 5 0 Kedua, atur nilai pengembalian fungsi ________13______6 menjadi 70 _1 Ketiga, panggil fungsi _7 dan uji apakah mengembalikan False. Fungsi _7 akan memanggil objek tiruan alih-alih fungsi 6 yang sebenarnya Apa artinya mengejek suatu fungsi?Fungsi tiruan memungkinkan Anda untuk menguji tautan antara kode dengan menghapus implementasi sebenarnya dari suatu fungsi, menangkap panggilan ke fungsi (dan parameter yang diteruskan dalam panggilan tersebut), menangkap instance fungsi konstruktor saat dibuat dengan new , dan mengizinkan konfigurasi waktu pengujian
Apa tujuan dari objek tiruan?Menggunakan objek tiruan memungkinkan pengembang untuk memfokuskan pengujian mereka pada perilaku sistem yang sedang diuji tanpa mengkhawatirkan ketergantungannya . Misalnya, menguji algoritme kompleks berdasarkan beberapa objek yang berada dalam keadaan tertentu dapat diekspresikan dengan jelas menggunakan objek tiruan sebagai pengganti objek nyata.
Apa itu tiruan dan bagaimana Anda menggunakannya?Apa itu mengejek? . Tujuan mengejek adalah untuk mengisolasi dan fokus pada kode yang sedang diuji dan bukan pada perilaku atau keadaan ketergantungan eksternal. a process used in unit testing when the unit being tested has external dependencies. The purpose of mocking is to isolate and focus on the code being tested and not on the behavior or state of external dependencies. |