pytest.mark.parametrize里面indirect参数详细解释
-
@pytest.mark.parametrize里面indirect参数,默认是False
- False: 就是parametrize里面argnames 参数当作一个普通的变量,不会去找变量对应函数的名的方法
-
True: 就是parametrize里面argnames 参数当作函数执行,它会去找对应的函数,去执行
第一种
indirect=False我们看看作为一个普通变量传输
从上面可以看出:method_indirect,它就是一个单纯的变量,它接收的就是 "method_A", "method_B", "method_C",将这写数据传给了 test_indirect函数。
第二种
indirect=True 我们可以将参数作为函数名,去找对应的函数
从上面可以看出:method_indirect不是一个变量,把它当作一个函数,将 "method_A", "method_B", "method_C" 数据给了method_indirect函数。