Menjalankan Ujian Unit dengan Struktur Direktori Ujian Standard
Banyak projek Python menggunakan struktur direktori tipikal di mana ujian unit disimpan dalam " direktori ujian". Ini menimbulkan persoalan: bagaimanakah seseorang menjalankan ujian ini dengan berkesan?
Isu dan Masalah
Menjalankan test_antigravity.py daripada direktori "ujian" secara langsung akan gagal kerana modul antigraviti tidak berada di laluan sistem. Mengubah suai PYTHONPATH dan helah berkaitan laluan yang serupa mungkin bukan penyelesaian yang optimum. Salin-tampal fail ujian ke dalam direktori lain nampaknya tidak cekap.
Penyelesaian: Menggunakan Antara Muka Baris Perintah unittest
Pendekatan yang paling disyorkan ialah menggunakan arahan unittest antara muka talian. Ia secara automatik menambahkan direktori semasa ke sys.path, membenarkan pengimportan lancar modul yang sedang diuji.
Untuk Struktur Seperti:
new_project └── test_antigravity.py
Cukup jalankan:
$ python -m unittest test_antigravity
Untuk Struktur Seperti:
new_project ├── antigravity │ └── antigravity.py └── test ├── test_antigravity.py
Anda boleh menjalankan satu modul ujian:
$ python -m unittest test.test_antigravity
Jalankan satu ujian:
$ python -m unittest test.test_antigravity.GravityTestCase
Jalankan satu kaedah ujian :
$ python -m unittest test.test_antigravity.GravityTestCase.test_method
Jalankan semua ujian:
$ python -m unittest discover $ # Also works without discover for Python 3 $ # as suggested by Burrito in the comments $ python -m unittest
Pendekatan ini mudah untuk pengguna melaksanakan ujian unit dengan hanya mengikut arahan: "Untuk menjalankan ujian unit, lakukan X."
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjalankan Ujian Unit dengan Berkesan daripada Direktori \'ujian\' Standard dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!