python - 用 Nose 测试。为什么我收到 "ImportError: No module named bin.app"

标签 python

我目前正在学习 Python The Hard Way 的最后一个练习 (EX52),我正在使用 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 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.py 引用的名为 app 的 Python 模块的目录。 Python 包的文件夹内有一个 __init__.py 文件。我可以更详细地解释,但最好发布一个链接供您引用。

http://docs.python-guide.org/en/latest/writing/structure/

关于python - 用 Nose 测试。为什么我收到 "ImportError: No module named bin.app",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31544794/

相关文章:

python - 如何更改 Django 日志记录的日期格式?

python - 使用基于其他列的多个查找向 Pandas DataFrame 添加一列

Python 2.7 多处理障碍

python - python 中不正确的质数列表

python - 在 Ubuntu 上使用 python 支持编译 vim

python - 对数对数图中的 Matplotlib 箭头

python - Django: `MergeDict` 已弃用,请改用 `dict.update()`

python - 系列与 Pandas 中 DataFrame 的每一列的关联,矢量化

python - 如何加速 JavaScript 网页抓取的过程?

python - 如何使用 openpyxl 3.03 找到 excel 的最后一个非空行?