gpt4 book ai didi

python - 如何将 pytest 与子进程一起使用?

转载 作者:行者123 更新时间:2023-12-05 01:58:15 26 4
gpt4 key购买 nike

下面是一个测试。如果 subprocess.run 导致错误,如何使此测试失败?

import pytest
import subprocess

@pytest.mark.parametrize("input_json", ["input.json"])
def test_main(input_json):
subprocess.run(['python', 'main.py', input_json]

最佳答案

subprocess.run 返回 CompletedProcess instance ,您可以检查它。

我不确定“导致错误”到底是什么意思——如果是非零的进程返回码,你可以检查returncode .如果输出的是特定错误消息,请检查 stdoutstderr相反。

例如:

import pytest
import subprocess

@pytest.mark.parametrize("input_json", ["input.json"])
def test_main(input_json):
completed_process = subprocess.run(['python', 'main.py', 'input_json']
assert completed_process.returncode == 0

注意。您似乎没有在测试函数中使用参数化参数 input_json 。只是一个观察。

关于python - 如何将 pytest 与子进程一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68666464/

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