美文网首页
pytest的fixture学习二

pytest的fixture学习二

作者: 小源宝1573 | 来源:发表于2020-06-30 16:06 被阅读0次

    测试函数可以通过将fixture对象命名为输入参数来接受。对于每个参数名称,具有该名称的fixture函数将提供fixture对象。fixture函数通过使用@ pytest.fixture标记来注册。下面看一个简单的自包含测试模块,其中包含一个fixture和一个使用它的测试功能:

    fixture作为函数参数

    该示例将“f()”函数标记为@pytest.fixture,在测试函数test_a()中的输入参数填写为“f”,那么运行时,会进行相应调用:

    运行结果

    在失败的跟踪日志中,测试函数是通过参数“f”调用,且在运营该用例时,“f”就会被执行。测试函数在最后assser处失败。这是通过pytest使用调用测试函数的协议:

    1、pytest根据test前缀来找到测试用例“test_a”,测试函数需要一个名为“f”的函数参数。通过查找名为“f”的带有fixture标记的函数,来匹配fixture函数。

    2、“f”被调用用来创建一个实例。

    3、test_a(<f instance>)被调用,并在测试函数的最后一行失败。

    注意: 如果拼错一个函数的参数或者想使用一个不可用的函数参数,那么你可以看到一个错误,并且列出来可用的函数参数。

    可以使用

    pytest --fixtures test_a.py

    来查看可用的fixtures。

    如果要查看“_”开头的fixtures,那么需要添加“-v”选项

    pytest --fixtures test_a.py pytest --fixtures -v test_a.py

    明天再继续~

    相关文章

      网友评论

          本文标题:pytest的fixture学习二

          本文链接:https://www.haomeiwen.com/subject/vydtqktx.html