Pythonデータ駆動モジュールDDT
5256 ワード
一.DDTの概要
Data Driven Testing、データ駆動、簡単に言えばテストデータのパラメータ化
Pythonデータ駆動モジュールDDTは、クラスのデコレーションddtと2つのメソッドデコレーションdata(直接入力テストデータ)を含む
通常、dataのデータは1つのパラメータに従ってテスト例に渡され、dataに複数のデータが含まれている場合は、メタグループ、リスト、辞書などのデータで、スクリプトでデータを分解したり、unpackを使用してデータを分解したりする必要があります.
@data(*パラメータ)
分割パラメータは複数で、複数回実行されます.
@data(a,b)
では、aとbはそれぞれ1回の運転例である
@data([a,d],[c,d])
@unpackがない場合は、[a,b]をパラメータ入力例として実行します.
@unpackがある場合,[a,b]は分解され,使用例の2つのパラメータに従って伝達される.
二、DDTを取り付ける
pip install ddt
三、モジュールの導入
import requests,json,unittest from ddt import ddt,data,unpack
四、ケース
Data Driven Testing、データ駆動、簡単に言えばテストデータのパラメータ化
Pythonデータ駆動モジュールDDTは、クラスのデコレーションddtと2つのメソッドデコレーションdata(直接入力テストデータ)を含む
通常、dataのデータは1つのパラメータに従ってテスト例に渡され、dataに複数のデータが含まれている場合は、メタグループ、リスト、辞書などのデータで、スクリプトでデータを分解したり、unpackを使用してデータを分解したりする必要があります.
@data(*パラメータ)
分割パラメータは複数で、複数回実行されます.
@data(a,b)
では、aとbはそれぞれ1回の運転例である
@data([a,d],[c,d])
@unpackがない場合は、[a,b]をパラメータ入力例として実行します.
@unpackがある場合,[a,b]は分解され,使用例の2つのパラメータに従って伝達される.
二、DDTを取り付ける
pip install ddt
三、モジュールの導入
import requests,json,unittest from ddt import ddt,data,unpack
四、ケース
@ddt
@data( )
:
1、@data 、 、
2、@data( ) ,
#data
import requests,json,unittest
from ddt import ddt,data,unpack
@ddt
class Test(unittest.TestCase):
name=((' ',' '),(' ',' '))
@data(name)
def test(self,name):
print(name)
if __name__=='__main__':
unittest.main()
"C:\Program Files\Python35\python.exe" C:/Users/wangli/PycharmProjects/Test/Test/test.py
.
----------------------------------------------------------------------
Ran 1 test in 0.000s
OK
((' ', ' '), (' ', ' '))
Process finished with exit code 0
#data
@ddt
class Test(unittest.TestCase):
name=[[' ',' '],[' ',' ']]
@data(name)
def test(self,name):
print(name)
if __name__=='__main__':
unittest.main()
"C:\Program Files\Python35\python.exe" C:/Users/wangli/PycharmProjects/Test/Test/test.py
[[' ', ' '], [' ', ' ']]
.
----------------------------------------------------------------------
Ran 1 test in 0.000s
OK
Process finished with exit code 0
#data
@ddt
class Test(unittest.TestCase):
name={'name':' ','age':11}
@data(name)
def test(self,name):
print(name)
if __name__=='__main__':
unittest.main()
"C:\Program Files\Python35\python.exe" C:/Users/wangli/PycharmProjects/Test/Test/test.py
.
{'name': ' ', 'age': 11}
----------------------------------------------------------------------
Ran 1 test in 0.000s
OK
Process finished with exit code 0
@ddt
@data(* )
:
1、@data 、 、
2、@data(* ) ,
import requests,json,unittest
from ddt import ddt,data,unpack
@ddt
class Test(unittest.TestCase):
name=((' ',' '),(' ',' '))
@data(*name)
def test(self,name):
print(name)
if __name__=='__main__':
unittest.main()
"C:\Program Files\Python35\python.exe" C:/Users/wangli/PycharmProjects/Test/Test/test.py
..
(' ', ' ')
----------------------------------------------------------------------
(' ', ' ')
Ran 2 tests in 0.000s
OK
Process finished with exit code 0
@ddt
class Test(unittest.TestCase):
name=[[' ',' '],[' ',' ']]
@data(*name)
def test(self,name):
print(name)
if __name__=='__main__':
unittest.main()
"C:\Program Files\Python35\python.exe" C:/Users/wangli/PycharmProjects/Test/Test/test.py
..
[' ', ' ']
----------------------------------------------------------------------
[' ', ' ']
Ran 2 tests in 0.000s
OK
Process finished with exit code 0
@ddt
class Test(unittest.TestCase):
name=[{'name':' ','age':11},{'name':' ','age':11}]
@data(*name)
def test(self,name):
print(name)
if __name__=='__main__':
unittest.main()
"C:\Program Files\Python35\python.exe" C:/Users/wangli/PycharmProjects/Test/Test/test.py
..
{'age': 11, 'name': ' '}
{'age': 11, 'name': ' '}
----------------------------------------------------------------------
Ran 2 tests in 0.001s
OK
Process finished with exit code 0
@ddt
@data(* )
@unpack
:
1、@data 、 、
2、@data(* ) ,
3、@unpack
import requests,json,unittest
from ddt import ddt,data,unpack
@ddt
class Test(unittest.TestCase):
name=((' ',' '),(' ',' '))
@data(*name)
@unpack
def test(self,name1,name2):
print(name1,name2)
if __name__=='__main__':
unittest.main()
"C:\Program Files\Python35\python.exe" C:/Users/wangli/PycharmProjects/Test/Test/test.py
..
----------------------------------------------------------------------
Ran 2 tests in 0.000s
OK
Process finished with exit code 0
@ddt
class Test(unittest.TestCase):
name=[[' ',' '],[' ',' ']]
@data(*name)
@unpack
def test(self,name1,name2):
print(name1,name2)
if __name__=='__main__':
unittest.main()
"C:\Program Files\Python35\python.exe" C:/Users/wangli/PycharmProjects/Test/Test/test.py
..
----------------------------------------------------------------------
Ran 2 tests in 0.001s
OK
Process finished with exit code 0