モードDDTパイソンの注意事項

DDTは、サードパーティのモジュールで、インストール、DDTをインストールPIP

DDTクラスは、二つの方法のデコレータとデコレータDDTデータ(直接入力テストデータ)が含まれ

データは、データタプル、リスト、辞書や他の複数のデータが含まれている場合、典型的には、パラメータに従って、試験データに送信されるデータは、データ自体は、スクリプトが必要または分解する分解アンパックデータに使用します。

@data(B)

aおよびbは、それぞれのユースケースを実行している、方法2を呼び出し

@data([D]、[C、D])

@unpackない場合、[B]を引数として、実施例で実行します

そこ場合@unpackし、[A、B 2つの送信パラメータの一実施形態による、ばらばらにされ

1、最初のDDTをインストール

$>ピップDDTをインストール

既にインストールされているので、以下のように暗示を無視することができます

 

2は、インストール後に、操作は一見のユニットテストで実装することができ、具体例を参照してください。

インポートDDTの
 インポートユニットテスト
 #定义任意的参数、リスト、辞書、STR、タプル等等 
t_list = [1,2 ] 
t_dict = { " A "" A "" B "" B " } 
t_str = ' test_string ' 
t_tuple =(1,2 

@ ddt.ddt 
クラステスト(たunittest.TestCase):

    デフセットアップ(自己):
         プリント' 開始' #これは、一つのパラメータのみ、データに割り当てられたt_list、印刷で
    の@ ddt.data(t_list)
     DEF する。test_a(自己、データ)
         を印刷(データ)

    #1 #これに複数の引数がある場合、受け付ける関数があり
    @ddtは、 .DATA(t_list、t_dict、t_str、t_tuple)
     DEF TEST_B(自己、データ):
         印刷(データ)

    #渡されたパラメータのこの複数は、複数の機能は、受信
    ddt.data @(t_list、t_dict、t_str 、t_tuple DEF test_c(セルフ、A、B、C、D):
         プリント(A)
         プリント(B)
         プリント(C)
         プリント(D)
 IF  __name__ == ' __main__ ' 
    unittest.main()

 

  結果は以下の通りであります:

 

上記から分かるように、第一、第二の機能は、第三の関数はエラーを行い、問題なく行います。我々は、次を描くことができます

---あなたは、パラメータの複数の種類を渡すことができ、複数のタイプを受け入れることができます

---パラメータの複数の種類が渡された同時に渡すことができ、各パラメータは、全体として渡されたテスト機能、試験機能を実行します。

 

我々は、単一のパラメータは、コンテンツをたくさん持って合格した場合3、そして、あなたはそれを強制するためにそれを打破する必要がありますか?この時間は、アンパックを使用する必要があり、以下の

DDTインポート
インポートunittestの
##の任意のパラメータを定義し、リスト、辞書、STR、タプル等
t_dict = { "A": 'A'、 "B": "B"、 "C": "C"} 

@ddt。 DDTの
クラス(たunittest.TestCaseの)テスト:

    セットアップ(自己)DEF:
        印刷( 'スタート')

    ##それぞれに渡されたパラメータに対応し、解凍するためにここに追加
    する@ ddt.data(t_dict)
    ddt.unpack @ 
    DEF test_A(セルフ、 、B、C):
        プリント(A)
        プリント(B)
        プリント(C)は、

    ##のパラメータに対応する、全く増加アンパックがない
    @ ddt.data(t_dict)
    DEF TEST_B(セルフ、A、B、C):
        印刷( A)
        印刷(B)
        プリント(C)

__name__ == '__main__' IF:
    unittest.main()

  結果は以下の通りであります:

由上,我们可以得到,unpack的用法

以上就是ddt 的学习总结

 

おすすめ

転載: www.cnblogs.com/dflblog/p/11363376.html