Apakah ada perbedaan antara assertEquals
dan assertEqual
dalam python unittest.TestCase
?
Dan jika tidak ada, mengapa ada dua fungsi? Hanya untuk kenyamanan?
sumber
Apakah ada perbedaan antara assertEquals
dan assertEqual
dalam python unittest.TestCase
?
Dan jika tidak ada, mengapa ada dua fungsi? Hanya untuk kenyamanan?
Pertanyaan bagus!
Sebenarnya, di Python 2.6, baik assertEqual
dan assertEquals
yang kenyamanan alias untuk failUnlessEqual
. Sumber menyatakan demikian:
# Synonyms for assertion methods
assertEqual = assertEquals = failUnlessEqual
Dalam Python 3 , ke titik Anda, failUnlessEqual
secara eksplisit ditinggalkan. assertEquals
membawa komentar ini :-)
# Sinonim untuk metode pernyataan
# Bentuk jamaknya tidak berdokumen. Buat mereka seperti itu untuk mencegah penggunaan.
# Jangan menambahkan lebih banyak. Jangan hapus.
# Mengalami siklus penghentian ini akan mengganggu banyak orang.
Jadi, hasilnya adalah Anda harus menggunakan apa pun yang Anda suka untuk Python 2.x, tetapi cenderung ke arah assertEqual
untuk Python 3.
assertEquals
. Namun secara tata bahasa, equal adalah bentuk tunggal (orang ketiga) dari kata kerja, bukan jamak. Saya pikir Anda mengerti dengan benar apa yang dimaksud dengan komentar-penulis, tetapi kata 'jamak' salah.Pembaruan 3.3: Dari 26.3.7.1.1. Alias yang ditinggalkan :
sumber
Bukan hanya untuk Python 3.x, karena Python 2.7
assertEquals
telah usang juga:Dari 25.3.7.1.1. Alias yang sudah tidak digunakan lagi
sumber
Saya pikir ini adalah ketegangan antara "hanya satu cara yang jelas untuk melakukannya" vs. "alias untuk membuat aliran kode keseluruhan secara semantik". Secara pribadi saya menemukan saya suka membaca
lebih
tapi suka
atas dua lainnya (
assertEquals(a, b)
mengganggu rasa tata bahasa saya)."Satu-satunya cara yang jelas untuk melakukannya" lebih diutamakan.
sumber
Saya tidak menemukan penyebutan assertEquals di http://docs.python.org/library/unittest.html . Namun, ketika saya mengimpor TestCase dan kemudian melakukan "bantuan (TestCase)", itu terdaftar. Saya pikir itu hanya sinonim untuk kenyamanan.
sumber
Saya tahu itu tidak menjawab pertanyaan spesifik, tetapi jika Anda tiba di sini saat mencari:
Anda hanya perlu mengubah panggilan menjadi .assertEqual () (hapus 's' in equalS)
sumber
Ini hampir sama kecuali bahwa assertEquals di repricated. Dianjurkan untuk menggunakan assertEqual seperti di sini:
Sumber daring: https://github.com/python/cpython/blob/e42b705188271da108de42b55d9344642170aa2b/Lib/lib2to3/fixes/fix_asserts.py
sumber