Pytest中参数化详解1
''' import pytest def add(a, b): return a + b """参数为列表和元组书写方式一样""" # @pytest.mark.parametrize( # 'a,b,expect', # [ # [1,2,3], # [3,4,7], # [7,8,15], # ] # [ # (1, 2, 3), # (3, 4, 7), # (7, 8, 15), # ] # ) # def test_add(a, b, expect): # assert add(a, b)==expect """参数为字典的书写方式""" @pytest.mark.parametrize( 'data', [ {'a':1,'b':2,'expect':3}, {'a':2,'b':3,'expect':5}, {'a':3,'b':4,'expect':7}, ] ) def test_add_01(data): assert add(data['a'], data['b'])==data['expect'] if __name__ == '__main__': pytest.main(['-s', '-v', 'Pytest中参数化详解(一).py']) '''
Pytest中参数化详解2
''' import pytest def add(a, b): return a + b @pytest.mark.parametrize( 'a,b,excepts', [ pytest.param(1, 1, 2, id='1'), # id标识如果用中文,无法解码,最好是用英文及数字表示 pytest.param(2, 2, 4, id='2'), pytest.param(3, 3, 6, id='3'), ] ) def test_add(a, b, excepts): assert add(a, b)==excepts if __name__ == '__main__': pytest.main(['-v', '-s', 'Pytest中参数化详解(二).py']) '''