python - 无法运行python单元测试
问题描述
执行单元测试用例时出现错误
- 操作系统:Mac
- IDE:Pycharm
- Python版本:3.7.2
我的项目结构是:
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()
我提供了我从项目根目录尝试的命令及其输出:
- python test/test_app.py:ModuleNotFoundError:没有名为“myapp”的模块
- python -m unittest test/test_app.py Test.test:ModuleNotFoundError:没有名为“Test”的模块
解决方案
我不清楚您是尝试在 PyCharm 中设置配置还是尝试使用提示符启动单元测试。
因此,如果您想在 Pycharm 中使用配置,您应该使用以下路径填充Target行:
myapp.test.test_app
请注意,必须使用“.”。而不是“/”,并且您不添加文件的扩展名 (.py)。
此外,不要忘记检查正确的解释器。
如果要改用命令提示符,则应设置所有环境变量,然后使用以下命令:
python <your>\<manage>\<path>\manage.py test myapp.test.test_app
我建议使用第一个选项(Pycharm 配置),因为您的项目中已经设置了所有环境变量。