當使用鼻子運行我的unittests時,我得到一個ImportError,而當我只是單獨運行它時,我不會。這裏提到的所有文件可能在http://gist.github.com/395541#。使用鼻子導入錯誤,沒有使用原始unittest的ImportError?
如果我運行測試腳本,importTest-Test.py,直接我得到這樣的輸出:
C:\usr\x\data\src\Python\mmm>python importTest-Test.py
In mmdb
In BusinessLogic
[]
.
----------------------------------------------------------------------
Ran 1 test in 0.001s
如果我讓鼻子運行它,我得到一個錯誤:
C:\usr\x\data\src\Python\mmm>nosetests.exe
E
======================================================================
ERROR: Failure: ImportError (No module named mmdb.DataAccess.AttemptDB)
----------------------------------------------------------------------
Traceback (most recent call last):
File "c:\bin\installed\python2.6\lib\site-packages\nose-0.11.3-py2.6.egg\nose\loader.py", line 382, in loadTestsFromName
addr.filename, addr.module)
File "c:\bin\installed\python2.6\lib\site-packages\nose-0.11.3-py2.6.egg\nose\importer.py", line 39, in importFromPath
return self.importFromDir(dir_path, fqname)
File "c:\bin\installed\python2.6\lib\site-packages\nose-0.11.3-py2.6.egg\nose\importer.py", line 86, in importFromDir
mod = load_module(part_fqname, fh, filename, desc)
File "C:\usr\x\data\src\Python\mmm\importtest-Test.py", line 2, in <module>
import importtest
File "C:\usr\x\data\src\Python\mmm\importtest.py", line 1, in <module>
from mmdb.BusinessLogic.AttemptManager import AttemptManager
File "C:\usr\x\data\src\Python\mmm\mmdb\BusinessLogic\AttemptManager.py", line 1, in <module>
from mmdb.DataAccess.AttemptDB import AttemptDB
ImportError: No module named mmdb.DataAccess.AttemptDB
----------------------------------------------------------------------
Ran 1 test in 0.002s
FAILED (errors=1)
鼻子有問題的包裝中的文件有以下結構 - 有些可能在這裏看到http://gist.github.com/395541#。:
mmm\importtest-Test.py
mmm\importtest.py
mmm\mmdb
mmm\__init__.py
mmm\mmdb\BusinessLogic
mmm\mmdb\BusinessObject
mmm\mmdb\DataAccess
mmm\mmdb\__init__.py
mmm\mmdb\BusinessLogic\AttemptManager.py
mmm\mmdb\BusinessLogic\Collections
mmm\mmdb\BusinessLogic\__init__.py
mmm\mmdb\BusinessLogic\Collections\__init__.py
mmm\mmdb\BusinessObject\__init__.py
mmm\mmdb\DataAccess\AttemptDB.py
mmm\mmdb\DataAccess\__init__.py
這發生在Win32/Python 2.6 /鼻子0.11.3上。
我會很感激任何幫助。
謝謝。
你有沒有想過你的問題?我有一個非常類似的問題,並沒有能夠解決它。 – Aaron 2011-12-13 18:58:37