Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana Menjalankan Ujian Unit dengan Cekap dari Direktori Ujian Berasingan dalam Python?
Cara Menjalankan Ujian Unit dalam Struktur Direktori Ujian Biasa
Dalam Python, adalah amalan biasa untuk mengatur ujian unit dalam direktori ujian yang berasingan . Walau bagaimanapun, ini menimbulkan persoalan tentang cara melaksanakan ujian ini dengan cekap.
Masalah
Apabila cuba menjalankan python test_antigravity.py dari dalam direktori ujian, import modul antigraviti gagal kerana modul tidak berada di laluan. Mengubah suai PYTHONPATH atau menggunakan helah laluan carian lain mungkin boleh dilaksanakan, tetapi mereka tidak mempunyai kesederhanaan, terutamanya untuk pengguna yang hanya ingin mengesahkan keputusan ujian.
Penyelesaian
The pendekatan yang disyorkan ialah menggunakan antara muka baris arahan unittest. Kelas TestLoadernya menambah direktori yang diperlukan pada sys.path, menyelesaikan isu laluan.
Sebagai contoh, dalam struktur direktori seperti ini:
new_project ├── antigravity.py └── test_antigravity.py
Anda boleh melaksanakan ujian dengan:
$ cd new_project $ python -m unittest test_antigravity
Untuk struktur direktori seperti yang ada disediakan:
new_project ├── antigravity │ ├── __init__.py │ └── antigravity.py └── test ├── __init__.py └── test_antigravity.py
Anda boleh mencapai kefungsian yang serupa dengan mengisytiharkan kedua-dua antigraviti dan ujian sebagai pakej dengan fail __init__.py. Dalam modul ujian, anda boleh mengimport pakej antigraviti dan modulnya seperti biasa.
Menjalankan Ujian Khusus
Untuk menjalankan modul ujian tunggal, seperti test_antigravity.py :
$ cd new_project $ python -m unittest test.test_antigravity
Anda juga boleh menjalankan kes ujian individu atau kaedah:
$ python -m unittest test.test_antigravity.GravityTestCase $ python -m unittest test.test_antigravity.GravityTestCase.test_method
Menjalankan Semua Ujian
Anda boleh menggunakan penemuan ujian untuk menjalankan semua ujian secara automatik. Ini memerlukan modul dan pakej ujian dinamakan test*.py (boleh disesuaikan melalui bendera -p atau --pattern):
$ cd new_project $ python -m unittest discover
Untuk pengguna yang lebih suka kesederhanaan, anda boleh mengarahkan mereka menjalankan perkara berikut arahan:
To run the unit tests, do: $ python -m unittest discover
Atas ialah kandungan terperinci Bagaimana Menjalankan Ujian Unit dengan Cekap dari Direktori Ujian Berasingan dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!