2
我正在學習pytest,我正在嘗試使用pytest.mark.parametrize作爲關鍵字參數。在pytest中爲關鍵字參數使用parametrize
這是不pytest.mark.parametrize簡單的例子:
G = 10
H = 2
def f(g=G, h=H):
return 5 * g + h
def test_f1():
assert f(h=4) == 54
assert f(g=20) == 102
這是我使用pytest.mark.parametrize不成功的路徑之一。它不工作,但它有助於瞭解我想實現什麼:
import pytest
G = 10
H = 2
def f(g=G, h=H):
return 5 * g + h
@pytest.mark.parametrize("arg, expected", [
("h=4", 54),
("g=20", 102),
])
def test_f2(arg, expected):
assert f(eval(arg)) == expected