pap*_*eps 6 python testing pytest
下面是一个测试。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]
Run Code Online (Sandbox Code Playgroud)
subprocess.run返回一个CompletedProcess实例,您可以检查它。
我不确定你所说的“导致错误”到底是什么意思\xe2\x80\x94如果它是进程的返回代码非零,你可以检查。\ returncoden如果它是一个特定的错误正在输出消息,请检查stdout或stderr。
例如:
\nimport pytest\nimport subprocess\n\n@pytest.mark.parametrize("input_json", ["input.json"])\ndef test_main(input_json):\n completed_process = subprocess.run([\'python\', \'main.py\', \'input_json\']\n assert completed_process.returncode == 0\nRun Code Online (Sandbox Code Playgroud)\n注意。您似乎没有input_json在测试函数中使用参数化参数。只是一个观察。
| 归档时间: |
|
| 查看次数: |
5814 次 |
| 最近记录: |