gpt4 book ai didi

python - 有没有办法在上次失败的那些 pytests 上调用 pdb

转载 作者:行者123 更新时间:2023-11-28 21:22:21 26 4
gpt4 key购买 nike

pytest --lf --pdb 并不完全符合我的要求,因为它在我正在测试的函数已经产生错误行为后启动调试器。

例如,假设我有一个名为 test_project.py 的文件,其中包含以下内容:

def test_plus_one():
v = plus_one(9)
assert v == 10

运行 pytest 后,我注意到此测试失败,因为 plus_one(9) 返回了 11 而不是 10,所以我运行 pytest --lf --pdb。但是,这会在 assert 语句失败后调用 pdb。我真正想做的是在前面的行 v = plus_one(9) 上调用 pdb,以便进入对函数 plus_one 的调用。

我知道我可以在 plus_one 中调用 pdb.set_trace(),但是有没有更方便的方法(可能是 pytest 的一些标志组合)?

最佳答案

不知道 pytest 的标志,但您可以在对 plus_one 的调用上方粘贴一个 assert False 并让 pytest 停在那里并将您放入调试器。

更好的方法是将可能产生错误的代码提取到一个小的驱动程序中,然后直接pdb

关于python - 有没有办法在上次失败的那些 pytests 上调用 pdb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48515806/

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