如何将模块导入python单元测试
我知道这已经被问了很多次了,在过去的两个小时里我一直在看它,但仍然无法理解。如果可能的话,我将非常感谢我的实际问题的解决方案,而不是与其他人的问题联系起来 这是如何将模块导入python单元测试,python,python-2.7,Python,Python 2.7,我知道这已经被问了很多次了,在过去的两个小时里我一直在看它,但仍然无法理解。如果可能的话,我将非常感谢我的实际问题的解决方案,而不是与其他人的问题联系起来 这是 /src /moduleA __init__.py messages.py /tests testA.py messages.py def get_messages(paramA): if paramA: return "A" else:
/src
/moduleA
__init__.py
messages.py
/tests
testA.py
messages.py
def get_messages(paramA):
if paramA:
return "A"
else:
return "B"
import unittest
from moduleA import messages
testA.py
def get_messages(paramA):
if paramA:
return "A"
else:
return "B"
import unittest
from moduleA import messages
我的单元测试只是检查get\u messages(…)
函数是否返回A
或B
据我所知,moduleA
是一个模块,因为它有一个\uuuu init\uuuuu.py
文件。VSCode不会抱怨测试中的from moduleA import messages
行,但是当我尝试执行testA.py
时,我收到以下错误消息
导入错误:没有名为moduleA的模块
还尝试使用python-m运行它
如果有人能告诉我我做错了什么,我将不胜感激。如果有帮助的话,我可以改变我的文件结构。也许我一直在读的示例是针对Python3的,而我使用的是2.7
谢谢。以下是我对如何处理此问题的建议:
因此,您需要在test
目录中添加一个\uuuu init\uuuu.py
,将一个目录备份到src
,然后运行python-m test.testA
,您就可以开始了
此外,一旦您看到要成功运行,您将看到在get_messages
中出现语法错误:在之后缺少冒号,否则
首先,我们应该在运行文件之前检查配置
交叉检查空格,如:
ENVIRONMENT=mock
PYTHONPATH=./src