Python:我的单元测试中的ImportError

时间:2017-01-11 19:34:01

标签: python unit-testing import

这是我的项目结构enter image description here

有些我已经在 tommy / core / tests / test_tprotocol.py 中编写了一些单元测试,在这个文件中,我有这一行:

from tommy.core.tprotocol import TRequest

但是当我在tests文件夹中运行unittest时:

 python -m  unittest tprotocol

我有一个ImportError:

E
======================================================================
ERROR: tprotocol (unittest.loader._FailedTest)
----------------------------------------------------------------------
ImportError: Failed to import test module: tprotocol
Traceback (most recent call last):
  File "/usr/local/Cellar/python3/3.6.0/Frameworks/Python.framework/Versions/3.6/lib/python3.6/unittest/loader.py", line 153, in loadTestsFromName
    module = __import__(module_name)
ModuleNotFoundError: No module named 'tprotocol'


----------------------------------------------------------------------
Ran 1 test in 0.000s

FAILED (errors=1)

从子文件夹导入模块时,我总是遇到这种类型的错误... 解决问题的最佳方法是什么?

但如果我做python -m unittest tommy/core/tests/test_tprotocol.py

,一切都会奏效

1 个答案:

答案 0 :(得分:0)

错误与您显示的行无关。

您当前位于测试文件夹中,因此您无法从该目录中的终端运行\( -type f \( -name '*.jpg' -o -name '*.bmp' -o -name '*.gif' \) -fprintf /tmp/gcnt "\n" \) , \ 。你应该使用测试模块而不是原始测试模块:

du