python - pytest 'ImportError: No module named YadaYadaYada' 的 PATH 问题

标签 python unit-testing pytest

我使用 easy_install 在 Mac 上安装了 pytest,并开始为具有如下文件结构的项目编写测试:

repo/
   |--app.py
   |--settings.py
   |--models.py
   |--tests/
          |--test_app.py

在 repo 目录中运行 py.test,一切都如你所愿

但是当我在 linux 或 windows 上尝试同样的事情时(两者都有 pytest 2.2.3),每当它从我的应用程序路径中首次导入某些东西时,它都会吠叫。比如说 from app import some_def_in_app

我是否需要编辑我的 PATH 才能在这些系统上运行 py.test?有人经历过吗?

最佳答案

我不确定为什么 py.test 没有在 PYTHONPATH 本身中添加当前目录,但这里有一个解决方法(从存储库的根目录执行):

python -m pytest tests/

之所以有效,是因为 Python 会为您在 PYTHONPATH 中添加当前目录。

关于python - pytest 'ImportError: No module named YadaYadaYada' 的 PATH 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10253826/

相关文章:

unit-testing - 有没有办法延迟 QUnit 测试套件的启动?

python - pytest-selenium 使用 mobile_emulation 或在设置中添加 userAgent

python - pytest 和 coverage 组合不起作用

python - pandas to_csv — 不编码文件名或路径

python - Django 表格 : making a disabled field persist between validations

python - “WSGIRequest”对象没有属性 'update'

python - 如何使用 python glob.glob() 打印子目录中的文件名

unit-testing - 单元测试:在设置方法中使用断言是一种好习惯吗?

python - 需要 py.test 在 python 日志记录模块的日志文件中记录断言错误

Python 连续运行单元测试或每个测试多次