Dosya yapısındaki test komutumun altındaki modülleri tanımak için burun testi çerçevesini alamıyorum . Sorunu gösteren en basit örneği oluşturdum. Aşağıda açıklayacağım.
Paket dosyası yapısı şu şekildedir:
./__init__.py
./foo.py
./tests
./__init__.py
./test_foo.py
foo.py şunları içerir:
def dumb_true():
return True
testler / test_foo.py şunları içerir:
import foo
def test_foo():
assert foo.dumb_true()
Her iki init .py dosyası boş
Koşarsam nosetests -vv
(foo.py olduğu) ana dizinde, alıyorum:
Failure: ImportError (No module named foo) ... ERROR
======================================================================
ERROR: Failure: ImportError (No module named foo)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib/python/site-packages/nose-0.11.1-py2.6.egg/nose/loader.py", line 379, in loadTestsFromName
addr.filename, addr.module)
File "/usr/lib/python/site-packages/nose-0.11.1-py2.6.egg/nose/importer.py", line 39, in importFromPath
return self.importFromDir(dir_path, fqname)
File "/usr/lib/python/site-packages/nose-0.11.1-py2.6.egg/nose/importer.py", line 86, in importFromDir
mod = load_module(part_fqname, fh, filename, desc)
File "/home/user/nose_testing/tests/test_foo.py", line 1, in <module>
import foo
ImportError: No module named foo
----------------------------------------------------------------------
Ran 1 test in 0.002s
FAILED (errors=1)
Testler / dizininin içinden çalıştırdığımda da aynı hatayı alıyorum. Dokümantasyona ve bulduğum bir örneğe göre , burnun tüm üst paketleri yolun yanı sıra çağrıldığı dizine eklemesi gerekiyor, ancak bu benim durumumda gerçekleşmiyor gibi görünüyor.
Python 2.6.2 ile Ubuntu 8.04 çalıştırıyorum. Eğer önemliyse, burnu elle oluşturdum ve kurdum (setup_tools ile değil).