1. pytest收集用例时遇到:must be equal to the number of values (4)时,如下图更详细的说明:

    出问题时编写:@pytest.mark.parametrize(“fixt, test”, [dicdata, “test”], indirect=True)
    image.png
    答案: 由于使用@pytest.mark.parametrize(),value列表值不是元组,与参数值不匹配
    @pytest.mark.parametrize(“fixt, test”, [(dicdata, “test”)], indirect=True)

    1. pytest遇到fixture ‘test’ not found,如下图所示报错:

    image.png
    答案: 由于 indirect=True,会将参数当函数运行, 因此传参均需要是fixture才可以,如果既要fixture又要有普通变量,可用叠加@pytest.mark.parametrize()即可,如下图所示:
    image.png

    1. 运行测试用例的时候,提示UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0xaa in position 14: illegal multibyte sequence

    答案: 由于pytest会首先读取pytest.ini,此文件不能有任何中文注释,不然就报错,可通过修改pytest的iniconfig_init_.py中的代码避开错误,添加下图红色方框代码:
    image.png