下面是一个测试。如果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
. 如果输出的是特定的错误消息,请检查stdout
或stderr
改为。
例如:
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
在测试函数中使用参数化参数。只是一个观察。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句