【问题标题】:pipenv pytest ignores source changes or uses cached source?pipenv pytest 忽略源更改或使用缓存的源?
【发布时间】:2022-12-16 16:03:29
【问题描述】:

我有一个 Django 4.0.6 项目,Python 3.9.15,Ubuntu 22.10,pipenv 2022.10.25,pytest 7.1.2

测试输出被缓存在某个地方,现在任何修改都将被忽略,除非我删除该方法。

我执行的步骤:

  1. 运行测试:pipenv run pytest src/some/path/models.py
  2. 测试失败,在回溯中显示正确的错误。
  3. 修改方法体。
  4. 再次运行测试。
  5. 测试再次失败,但回溯显示旧代码,未修改。

    删除方法解决了问题,但对方法源代码所做的任何修改都会使其再次出现在回溯中,未修改。

    pipenv/pytest/whatever 是否将源缓存在某处?

    pipenv run pytest src/some/path/models.py --cache-clear 没有帮助。

    以及删除.pytest_cache/

    我尝试删除 venv/some/path/__pycache__/models.cpython-39.pyc 文件(以及 venv 中所有已编译的 *.pyc 文件)

    但似乎没有任何帮助。每次运行测试时都会出现相同的回溯。

【问题讨论】:

    标签: python-3.x django pytest pipenv


    【解决方案1】:

    有同样的问题并想通了 - 我通过 pipenv run pytest ... 运行的 pytest 实际上不是 venv 的一部分。我建议您以pipenv run python -m pytest ... 的身份运行它

    【讨论】:

      【解决方案2】:

      通过清除本地用户缓存解决:

      rm -rf ~/.cache/*
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-18
        • 1970-01-01
        • 2013-01-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多