【问题标题】:Unit tests not importing project modules (Python)单元测试不导入项目模块(Python)
【发布时间】:2017-12-29 14:47:05
【问题描述】:

我的代码结构是:

+ 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

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

【问题讨论】:

  • 我认为您的路径可能有问题,也许您必须在 PYTHONPATH 中包含您的项目路径

标签: python unit-testing module


【解决方案1】:

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

import unittest
from project.project_code.main import MainClass

或者用相对的方式来做

import unittest
from ..project_code.main import MainClass

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

【讨论】:

    猜你喜欢
    • 2012-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多