मैं फ़ाइल संरचना में मेरे परीक्षण स्क्रिप्ट के नीचे मॉड्यूल को पहचानने के लिए नाक परीक्षण रूपरेखा प्राप्त करने के लिए प्रतीत नहीं कर सकता । मैंने सबसे सरल उदाहरण स्थापित किया है जो समस्या को प्रदर्शित करता है। मैं इसे नीचे समझाता हूँ।
यहाँ पैकेज फ़ाइल संरचना है:
./__init__.py
./foo.py
./tests
./__init__.py
./test_foo.py
foo.py शामिल हैं:
def dumb_true():
return True
परीक्षण / test_foo.py होता है:
import foo
def test_foo():
assert foo.dumb_true()
दोनों init .py फाइलें खाली हैं
अगर मैं nosetests -vv
मुख्य निर्देशिका में भागता हूं (जहां foo.py है), मुझे मिलता है:
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)
परीक्षण / निर्देशिका के अंदर से चलने पर मुझे वही त्रुटि मिलती है। दस्तावेज़ीकरण और एक उदाहरण के अनुसार , मैंने पाया कि सभी माता-पिता पैकेज को पथ के साथ-साथ उस निर्देशिका से जोड़ना है, जहां से इसे बुलाया जाता है, लेकिन मेरे मामले में ऐसा नहीं लगता है।
मैं प्यूथन 2.6.2 के साथ उबंटू 8.04 चला रहा हूं। अगर मैंने उस मामले में मैन्युअल रूप से (सेटअप_टूल के साथ नहीं) नाक बनाया और स्थापित किया है।