Metadata-Version: 2.1
Name: interface_testcases
Version: 0.1.3
Summary: 提供接口测试用例生成方法
Home-page: https://github.com/caiyizhang/interface_testcases
Author: Caiyizhang
Author-email: 1031282751@qq.com
License: UNKNOWN
Description: # interface_testcases
        
        接口多参数测试用例生成
        
        ## 功能特性
        
        * 正常值pairwise-2组合的用例
        * 异常值用例
        * 不传必选参数用例
        * 不传全部可选参数的用例
        
        ## 使用指南
        
        ### 安装
        
        方法1. pip安装：pip install interface_testcases
        
        方法2. 下载源代码：git clone git@github.com:caiyizhang/interface_testcases.git
        
            $ cd interface_testcases
            $ pip install .
        
        ### 示例
        ```python
            from interface_testcases.testcases import InterfaceTestcases
        
        
            # 传入参数一行代表一个参数，一个参数有3个属性。
            # 前两个是列表，最后一个是布尔类型。分别是正常值、异常值和是否必选参数
            params = [
                [[1, 2], [0, 3], False],
                [[-1, -2], [0, -3], True],
                [[-3, 3], [-2, 4], False]
            ]
            for case in InterfaceTestcases(params):
                print(case)
        
            # 结合pytest
            @pytest.mark.parametrize(['param_1', 'param_2', 'param_3', 'normal_flag'], [
                value_list for value_list in InterfaceTestcases([
                    [['1', '10'], ['0', '7'], True],
                    [["1", '10', '100'], ['0', '101'], False],
                    [[None, '', 2161524184], ['1'], False],
                    [[None, '', '1', '11'], [0, 'f2rewrawr'], False]
                ])
            ])
        
            def test_1(self, param_1, param_2, param_3, normal_flag):
                params = {
                    'param_1': param_1,
                    'param_2': param_2,
                    'param_3': param_3
                }
        
                # params删除不传入的参数
                params = {k: v for k, v in params.items() if v != 'no_param'}
        
                if normal_flag == 'normal':
                    do_something_normal()
                elif normal_flag == 'abnormal':
                    do_something_abnormal()
                else:
                    pass
        ```
        
Platform: UNKNOWN
Description-Content-Type: text/markdown
