Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Menjalankan Ujian Unit dengan Mudah dalam Projek Python dengan Direktori Ujian Berasingan?

Bagaimanakah Saya Boleh Menjalankan Ujian Unit dengan Mudah dalam Projek Python dengan Direktori Ujian Berasingan?

Patricia Arquette
Patricia Arquetteasal
2024-11-30 11:42:15320semak imbas

How Can I Easily Run Unit Tests in a Python Project with a Separate Test Directory?

Melaksanakan Ujian Unit dalam Projek Python dengan Struktur Direktori Ujian Berasingan

Pertanyaan:

Banyak projek Python menggunakan struktur direktori yang memisahkan ujian unit ke dalam direktori ujian khusus. Walau bagaimanapun, menjalankan ujian ini terus daripada direktori ujian boleh mengakibatkan kegagalan import. Ini menimbulkan persoalan: bagaimanakah kita boleh menjalankan ujian unit dengan mudah dalam struktur sedemikian?

Jawapan:

Pendekatan yang disyorkan melibatkan penggunaan antara muka baris arahan unittest:

$ python -m unittest test_antigravity

Dalam struktur direktori contoh kami:

new_project/
    antigravity/
        antigravity.py
    test/
        test_antigravity.py

Melaksanakan perkara di atas arahan akan menambah direktori projek pada laluan sistem (sys.path), membolehkan anda mengimport modul antigraviti dengan mudah daripada fail ujian.

Faedah:

  • Tiada pengubahsuaian laluan manual: Kaedah ini menghapuskan keperluan untuk melaraskan PYTHONPATH atau melaksanakan laluan carian lain yang berkaitan pengubahsuaian.
  • Mudah untuk pengguna: Pengguna boleh melaksanakan ujian dengan arahan yang mudah tanpa memerlukan pengetahuan lanjutan tentang struktur direktori Python.
  • Pakej sokongan: Jika direktori ujian dan modul dikonfigurasikan sebagai pakej, modul ujian boleh mengimport modul yang dikehendaki dengan lancar tanpa menghadapi sebarang isu.

Pilihan Tambahan:

  • Menjalankan modul ujian tertentu: Gunakan yang berikut sintaks:

    $ python -m unittest test.test_antigravity
  • Menjalankan kes ujian atau kaedah: Jalankan satu kes ujian atau kaedah dengan:

    $ python -m unittest test.test_antigravity.GravityTestCase
    $ python -m unittest test.test_antigravity.GravityTestCase.test_method
  • Menemui dan menjalankan semua ujian: Gunakan ujian penemuan:

    $ python -m unittest discover
    $ python -m unittest

Ini secara automatik akan menemui dan menjalankan semua modul ujian dalam pakej ujian.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjalankan Ujian Unit dengan Mudah dalam Projek Python dengan Direktori Ujian Berasingan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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