zoukankan      html  css  js  c++  java
  • pytest实际编码中特殊问题的解决

    1.一个用例中想要写多个断言

    现状:如果用assert的话,第一个assert失败后,后面的代码就不执行了

    优化:想要前一个断言失败后后续断言继续执行的话,需要安装插件 pip install pytest-assume

    代码实例:后续补充

    2.测试用例的执行顺序

    现状:文件名称 按 ASCII 码排序;文件内容,按代码先后顺序排序

    优化:想要自己控制测试用例的执行顺序,需要安装插件 pip install pytest-ordering

    代码实例:

    import pytest
    
    @pytest.mark.dependency()
    def test_01(test):
        assert False
    
    @pytest.mark.dependency(depends=["test_01"])
    def test_02(test):
        print("执行测试2")

    3.用例间的依赖问题

    现状:如增删改类型的测试用例,如果增加失败了,那么继续执行删改,则必然是失败的

    优化:想要增测试用例执行成功后才去执行删改的测试用例,如果增失败则删改的测试用例不执行,需要安装插件 pip install pytest-dependency,使用该插件可以标记一个test作为其他test的依赖,当依赖项执行失败时,那些依赖它的test将会被跳过。

    4.用例间参数传入问题

    def test_b():
    globals()["a"] = 1
    assert True


    def test_a():
    print("执行测试2")
    print(globals()["a"])

     5.断言中字符串多双引号

    现状:

    解决办法:代码按如下修改即可

     actual = res['data'].encode("utf-8").decode("unicode_escape")
    assert actual.strip('"') == expected
  • 相关阅读:
    文字编码转换器 V1.0 免费绿色版
    一把刀系统维护工具箱 v1.6 绿色版
    一把刀终极配置Win7/8版 v2.0 绿色版
    移动端 iframe的使用
    scale配合过渡的时候bug
    js 简体中文拼音对应表
    原生js快速渲染dom节点
    让我们的svg起飞,兼容ie9的神器
    盒模型
    Normalize.css 与 reset.css
  • 原文地址:https://www.cnblogs.com/wang-mengmeng/p/12024005.html
Copyright © 2011-2022 走看看