【问题标题】:Errors when trying to run Flask's testsuite尝试运行 Flask 的测试套件时出错
【发布时间】:2018-04-29 03:55:30
【问题描述】:

我遵循how to contribute to Flask 教程。

当我运行 pytest tests/*.py 时,测试通过了,但是当我简单地运行 pytest 时(如上面的参考资料所述),我收到以下错误消息:

pytest
============================= test session starts ==============================
platform linux -- Python 3.5.2, pytest-3.0.7, py-1.4.33, pluggy-0.4.0
rootdir: /home/begueradj/flask, inifile: setup.cfg
collected 377 items / 3 errors 

==================================== ERRORS ====================================
____________ ERROR collecting examples/flaskr/tests/test_flaskr.py _____________
ImportError while importing test module '/home/begueradj/flask/examples/flaskr/tests/test_flaskr.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
examples/flaskr/tests/test_flaskr.py:15: in <module>
    from flaskr import flaskr
E   ImportError: No module named 'flaskr'
__________ ERROR collecting examples/minitwit/tests/test_minitwit.py ___________
ImportError while importing test module '/home/begueradj/flask/examples/minitwit/tests/test_minitwit.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
examples/minitwit/tests/test_minitwit.py:14: in <module>
    from minitwit import minitwit
E   ImportError: No module named 'minitwit'
_____ ERROR collecting examples/patterns/largerapp/tests/test_largerapp.py _____
ImportError while importing test module '/home/begueradj/flask/examples/patterns/largerapp/tests/test_largerapp.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
examples/patterns/largerapp/tests/test_largerapp.py:1: in <module>
    from yourapplication import app
E   ImportError: No module named 'yourapplication'
!!!!!!!!!!!!!!!!!!! Interrupted: 3 errors during collection !!!!!!!!!!!!!!!!!!!!
=========================== 3 error in 2.78 seconds ============================

我的环境是:

  • Ubuntu 16.04 LTS
  • Python 3.5.2
  • pytest 3.0.7 版

为什么会发生这种情况以及如何解决?

【问题讨论】:

    标签: python testing flask pytest


    【解决方案1】:

    现在 Flask 1.0 已经发布,pytest 将仅在 tests 目录中运行测试。安装示例后,使用pytest tests examples 测试两者。

    pip install -e examples/tutorial
    pip install -e examples/javascript
    pytest tests examples
    

    贡献文档 are 已过期,您需要运行 pytest tests。如果您想测试示例(这是现在失败的原因),您需要像 tox 那样安装它们。

    pip install -e examples/flaskr
    pip install -e examples/minitwit
    pip install -e examples/patterns/largerapp
    pytest
    

    或者,运行 tox -e py 运行整个测试套件,或运行 tox 在所有受支持的 Python 版本上运行套件。

    【讨论】:

      猜你喜欢
      • 2014-07-06
      • 1970-01-01
      • 2019-11-18
      • 1970-01-01
      • 2016-04-06
      • 2017-11-01
      • 2022-01-19
      • 2016-03-23
      • 1970-01-01
      相关资源
      最近更新 更多