import pytest user_data = ["user1", "user2"] @pytest.fixture() def login(request): return request.param in user_data # 永远是True的判断 @pytest.mark.parametrize("login", user_data, indirect=True) def test_login1(login): assert login is True # login(param) is True 执行login后 return回来确实是个True值 @pytest.mark.parametrize("login", user_data) def test_login2(login): assert login is True # param is True param只是个变量,所以这边AssertError了
request是pytest内置的一个fixture,他就是用来接收传入参数的,一般request.param连着一起用