首页 > 解决方案 > 无法运行python单元测试

问题描述

执行单元测试用例时出现错误

我的项目结构是:

myapp
  - myapp
    - app.py
    - __init__.py
  - test
    - test_app.py
    - __init__.py

我的测试文件很简单:

import unittest
from myapp import app


class Test(unittest.TestCase):

    def setup(self):
        self.client = app.app.test_client()
        response = self.client.get('/', content_type='application/json')
        self.assertEqual(response.status_code, 200)


if __name__ == '__main__':
    unittest.main()

我提供了我从项目根目录尝试的命令及其输出:

  1. python test/test_app.py:ModuleNotFoundError:没有名为“myapp”的模块
  2. python -m unittest test/test_app.py Test.test:ModuleNotFoundError:没有名为“Test”的模块

标签: pythonpython-3.xpycharmpython-unittest

解决方案


我不清楚您是尝试在 PyCharm 中设置配置还是尝试使用提示符启动单元测试。

因此,如果您想在 Pycharm 中使用配置,您应该使用以下路径填充Target行:

myapp.test.test_app

请注意,必须使用“.”。而不是“/”,并且您不添加文件的扩展名 (.py)。
此外,不要忘记检查正确的解释器。

如果要改用命令提示符,则应设置所有环境变量,然后使用以下命令:

python <your>\<manage>\<path>\manage.py test myapp.test.test_app

我建议使用第一个选项(Pycharm 配置),因为您的项目中已经设置了所有环境变量。


推荐阅读