Saya memiliki aplikasi Pylons 1.0 dengan banyak tes di direktori test / fungsional. Saya mendapatkan hasil tes yang aneh dan saya hanya ingin menjalankan satu tes. Dokumentasi hidung mengatakan saya harus bisa lulus dalam nama tes di baris perintah tapi saya mendapatkan ImportErrors tidak peduli apa yang saya lakukan
Sebagai contoh:
nosetests -x -s sometestname
Memberi:
Traceback (most recent call last):
File "/home/ben/.virtualenvs/tsq/lib/python2.6/site-packages/nose-0.11.4-py2.6.egg/nose/loader.py", line 371, in loadTestsFromName
module = resolve_name(addr.module)
File "/home/ben/.virtualenvs/tsq/lib/python2.6/site-packages/nose-0.11.4-py2.6.egg/nose/util.py", line 334, in resolve_name
module = __import__('.'.join(parts_copy))
ImportError: No module named sometestname
Saya mendapatkan kesalahan yang sama untuk
nosetests -x -s appname.tests.functional.testcontroller
Apa sintaks yang benar?
appname.tests.functional.test_controller.name_of_test_method
.module.path:ClassNameInFile.method_name
, yaitu, dengan titik dua yang memisahkan jalur modul / file dan objek di dalam file.module.path
adalah jalur relatif ke file (mis.my_tests.py:ClassNameInFile.method_name
), Bukan jalur yang akan Anda gunakan dalamimport
pernyataanBagi saya yang menggunakan Nosetests 1.3.0, varian ini berfungsi (tapi pastikan Anda ada
__init__.py
di folder tes Anda):Perhatikan bahwa titik dua tunggal antara nama modul dan nama kelas.
sumber
Saya harus menambahkan ekstensi file ".py", yaitu,
Mungkin ini karena saya tidak memiliki kelas dalam file. Tanpa itu
.py
, hidungnya mengeluh:Dan ini meskipun saya punya
__init__.py
di folder/path_to/
.sumber
Saya menulis skrip kecil ini, berdasarkan jawaban sebelumnya:
sumber
Berikut ini bekerja dengan baik untuk saya:
Perhatikan bahwa tes saya di mana tidak di kelas. Metode pengujian dalam satu file.
sumber