• @pytest.mark.parametrize里面indirect参数,默认是False
    • False: 就是parametrize里面argnames 参数当作一个普通的变量,不会去找变量对应函数的名的方法
    • True: 就是parametrize里面argnames 参数当作函数执行,它会去找对应的函数,去执行

 

第一种 

indirect=False我们看看作为一个普通变量传输

pytest.mark.parametrize里面indirect参数详细解释_数据

 

pytest.mark.parametrize里面indirect参数详细解释_Linux_02

 

从上面可以看出:method_indirect,它就是一个单纯的变量,它接收的就是 "method_A", "method_B", "method_C",将这写数据传给了 test_indirect函数。

第二种

indirect=True 我们可以将参数作为函数名,去找对应的函数

pytest.mark.parametrize里面indirect参数详细解释_写数据_03

 

 pytest.mark.parametrize里面indirect参数详细解释_Linux_04

 

 从上面可以看出:method_indirect不是一个变量,把它当作一个函数,将 "method_A", "method_B", "method_C" 数据给了method_indirect函数。