Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana Menjalankan Ujian Unit dengan Cekap dari Direktori Ujian Berasingan dalam Python?

Bagaimana Menjalankan Ujian Unit dengan Cekap dari Direktori Ujian Berasingan dalam Python?

Linda Hamilton
Lepaskan: 2024-11-27 03:04:13
asal
794 orang telah melayarinya

How to Efficiently Run Unit Tests from a Separate Test Directory in 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
Salin selepas log masuk

Anda boleh melaksanakan ujian dengan:

$ cd new_project
$ python -m unittest test_antigravity
Salin selepas log masuk

Untuk struktur direktori seperti yang ada disediakan:

new_project
├── antigravity
│   ├── __init__.py
│   └── antigravity.py
└── test
    ├── __init__.py
    └── test_antigravity.py
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

Untuk pengguna yang lebih suka kesederhanaan, anda boleh mengarahkan mereka menjalankan perkara berikut arahan:

To run the unit tests, do:
$ python -m unittest discover
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan