Python:在我的单元测试中导入恐怖

Python:在我的单元测试中导入恐怖,python,unit-testing,import,Python,Unit Testing,Import,这是我的项目结构 我在tommy/core/tests/test_tprotocol.py中编写了一些单元测试,在这个文件中,我有一行: from tommy.core.tprotocol import TRequest 但当我在tests文件夹中运行unittest时: python -m unittest tprotocol 我有一个可怕的想法: E ===================================================================

这是我的项目结构

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

from tommy.core.tprotocol import TRequest
但当我在tests文件夹中运行unittest时:

 python -m  unittest tprotocol
我有一个可怕的想法:

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\u tprotocol.py

的话,一切都会正常工作。错误与您显示的行无关

您当前在test文件夹中,因此无法从该目录从终端运行
tprotocol
。您应该使用测试模块,而不是原始模块:

python -m  unittest test_tprotocol

python-m unittest-tommy/core/tests/test\u tprotocol.py
这项工作很有效,但这项
python-m unittest\u tprotocol
却没有