单元测试不导入项目模块(Python)

时间:2017-12-29 14:47:05

标签: python unit-testing module

我的代码结构是:

+ project
|
+ - - project_code
|   |    __init__.py
|   \    main.py
|
+ - - test
    |   __init__.py
    \   test_main.py

在我的test_main.py中,我有:

import unittest
from project_code.main import MainClass

其中MainClass只是main.py中的一个

然后我导航到项目目录,并运行以下命令:

python -m unittest discover -v

然后我收到错误,说没有模块名称project_code.main

为什么这不起作用的任何想法?

1 个答案:

答案 0 :(得分:0)

在项目文件夹中放置一个空的__init__.py以使其成为一个包,然后将代码更改为

import unittest
from project.project_code.main import MainClass

或者用

的相对方式做
import unittest
from ..project_code.main import MainClass

您的test_maintest中找不到名为project_code的模块或包,因为它希望它位于test包中。