Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将模块导入python单元测试_Python_Python 2.7 - Fatal编程技术网

如何将模块导入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