gpt4 book ai didi

python - 仅为当前模块从 python 调用 pytest

转载 作者:太空狗 更新时间:2023-10-29 17:32:20 24 4
gpt4 key购买 nike

我知道 py.test 可以测试单个模块,如果我这样做的话:

py.test mod1.py

或者,我可以在 python 中调用 pytest:

import pytest
pytest.run(['mod1.py'])

我可以在 python 中完成它,让它运行当前模块吗?我想我可以做到:

import pytest
import os
pytest.main([os.path.basename(__file__)])

但想知道这是否是最“pythonic”的方式。谢谢!

最佳答案

您的版本不允许将额外参数传递给 pytest(例如,允许 ./test_file.py -v)。我简单地试了一下

import sys


if __name__ == '__main__':
pytest.main(sys.argv)

它似乎可以解决问题。 sys.argv[0]是脚本名(即__file__,可能是相对路径),所以它限制了对脚本的调用,而sys。 argv[1:] 包含在命令行上传递的额外参数。

感谢任何更好的想法!

关于python - 仅为当前模块从 python 调用 pytest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35353771/

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