gpt4 book ai didi

python - 从模块内部运行 pytest,似乎缓存测试

转载 作者:太空狗 更新时间:2023-10-30 01:29:00 26 4
gpt4 key购买 nike

我最近开始玩 pytest 并使用 pytest.main() 来运行测试。但是,pytest 似乎缓存了测试。对我的模块或测试所做的任何更改都将被忽略。我无法从命令行运行 pytest,所以 pytest.main() 是我唯一的选择,这是因为在我的 ipad 上写了 python。

我在谷歌上对此进行了广泛的搜索,并找到了一个类似的问题,其中包含从命令行运行 pytest 的建议。任何帮助将不胜感激。

谢谢,

最佳答案

Pytest 不缓存任何东西。每个 Python 解释器实例只读取一次模块(文件)。

有一个内置的reload,但是it almost never does what you hope it will do .

如果你正在运行

import pytest
...
while True:
import my_nifty_app
my_nifty_app.be_nifty()
pytest.main()

my_nifty_app.py 将被读取一次,即使它在磁盘上发生变化也是如此。你真正需要的是像

 exit_code = pytest.main()
sys.exit(exit_code)

这将结束解释器的实例,这是确保您的源文件被重新读取的唯一方法。

关于python - 从模块内部运行 pytest,似乎缓存测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24227086/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com