Python 用鼻子测试。为什么我会得到;ImportError:没有名为bin.app的模块;
我目前正在进行最后一个练习(EX52),学习Python的艰难之路,我正在使用Nose测试代码(这个练习是扩展Nose测试来测试更多的代码) 这是我的文件结构Python 用鼻子测试。为什么我会得到;ImportError:没有名为bin.app的模块;,python,Python,我目前正在进行最后一个练习(EX52),学习Python的艰难之路,我正在使用Nose测试代码(这个练习是扩展Nose测试来测试更多的代码) 这是我的文件结构 bin app.py gothonweb __init__.py map.py sessions tests map_tests.py app_tests.py 示例代码使用map_tests.py代码测试map.py文件 from nose.tools import * from gothonw
bin
app.py
gothonweb
__init__.py
map.py
sessions
tests
map_tests.py
app_tests.py
示例代码使用map_tests.py代码测试map.py文件
from nose.tools import *
from gothonweb.map import *
def test_room():
central_corridor = Room("Central Corridor" ...
所以我想我应该通过创建第二个测试文件来扩展它,名为app_tests.py,它测试app.py文件。它包含此代码
from nose.tools import *
from bin.app import *
def test():
pass
当我运行nosetests时,我得到以下错误:ImportError:没有名为bin.app的模块
我做错了什么?从您的目录结构可以看出
bin
不是python包。它是一个包含名为app
的python模块的目录,该模块由app.py
引用。Python包在文件夹中有一个\uuuuu init\uuuuuu.py
文件。我可以解释得更详细些,但最好还是贴一个链接供你参考
由于您的
bin
目录中没有\uuu init\uuuu.py
,因此它只是一个目录,而不是一个包。因为它不是一个包,所以您无法在包中查找bin
模块
从父目录中,执行以下操作:
touch bin/__init__.py
在Mac/Linux上,或
type NUL>bin\__init__.py
在Windows上我意识到我不可能在stackoverflow的答案中公正地回答这个主题,所以一个好的参考网站是更好的选择!