zoukankan      html  css  js  c++  java
  • pytest文档77

    前言

    pytest 参数化的时候,希望能跳过部分测试用例,可以用 pytest.param 来实现。

    parametrize 参数化示例

    parametrize 参数化

    import pytest
    
    
    @pytest.mark.parametrize('input1, input2, expected', [
        ["a", "b", "ab"],
        ["1", "2", "12"],
        [2, 3, 5],
        [1, 3, 4],
        ])
    def test_foo(input1, input2, expected):
        assert input1 + input2 == expected
    

    运行结果

    collected 4 items
    
    ..........demodemoaaa	est_x.py ....
    total times: 0.13 seconds
    
    ================ 4 passed in 0.14s ==================
    

    pytest.param 跳过用例

    如果想跳过其中部分用例,可以用 pytest.param()来实现,给参数化中单个用例加 marks 标记 skip。

    import pytest
    
    
    @pytest.mark.parametrize('input1, input2, expected', [
        ["a", "b", "ab"],
        ["1", "2", "12"],
        pytest.param(2, 3, 5, marks=pytest.mark.skip),
        [1, 3, 4],
        ])
    def test_foo(input1, input2, expected):
        assert input1 + input2 == expected
    

    运行结果

    collected 4 items
    
    ..........demodemoaaa	est_x.py ..s
    Test ignored..
    total times: 0.14 seconds
    
    ============== 3 passed, 1 skipped in 0.14s ==============
    

    运行结果可以看出1个 skipped 了。

  • 相关阅读:
    工具推荐-css3渐变生成工具
    IE6bug-overflow不能隐藏的bug
    cs3属性操作js
    多级联动下拉菜单(原生js)
    js表单验证大全
    js-运动框架(时间版)
    LeetCode 677. 键值映射
    LeetCode 28. Implement strStr()
    计网学习笔记(5)
    计网学习笔记(4)
  • 原文地址:https://www.cnblogs.com/yoyoketang/p/15428438.html
Copyright © 2011-2022 走看看