(39%)unittestのユニットテストフレームワークunittest-組織単位テストケースを認識

エッセイやレコードは、仲間の旅行者へのアクセスを容易にします。

#私------------------------------------------------ -------------------------------------------分割線は残念です

  学習セレン自動化する前に、それはHTML、CSS、JavaScriptやその他の知識、操作および位置決め要素の原理を理解するための助けを学ぶのがベストです。Pythonとセレンに関する追加情報をインストールし導入していない、すべての例はpython3.6 +セレンを使用して実行され、ここで自分で検索してください。

#私------------------------------------------------ -------------------------------------------分割線は残念です

組織ユニットテストケース

 

我々は機能テストおよび対応するテストケースを追加すると、テストケースはどのようにunittestのユニットテストフレームワークを見て、新しい組織を拡張したものです。

 

新しいファイルcalculator.pyファイル

 

#電卓
クラスカウント():
    DEF __init __(自己、A、B):
        self.a = INT(A)
        self.b、= INT(B) 
計算加算器
    DEF追加(自己):
        戻りself.a +セルフ。 B 

    #減算計算
    DEF追加(自己):
        戻りself.a - self.b、

 

そのため電卓(電卓)の減算機能(サブ)を追加した、我々は次のように、test.pyファイル拡張子を新機能のテストケースを記述する必要があります。

 

unittestのインポート
電卓輸入カウントから

クラスTestAdd(たunittest.TestCase):
    デフセットアップ(自己):
        プリント( 'テストの追加開始')

    デフtest_add(自己):
        J =(2,3)をカウント
        self.assertEqual(j.addを( )、5)

    DEF test_add2(自己):
        J =数(10,5)
        self.assertEqual(j.add()、15)

    デフティアダウン(自己):
        プリント( '試験加算'末端)


クラスTestSub(たunittest.TestCase ):
    DEFセットアップ(自己):
        プリント( 'テストサブ開始')

    DEF test_sub(自己):
        J =(3、2)カウント
        self.assertEqual(j.sub()、1)

    DEF test_sub2(自己): 
        J =カウント(10,5)
        self.assertEqual(j.sub(),. 5)

    DEFティアダウン(自己):
        印刷( 'テストEnd Subの') 
テストクラス試験方法を行っ
__name__ == '__main__'の場合:
    #構成されたテスト・セット・
    スイート= unittest.TestSuiteインスタンス()
    suite.addTest(testAdd( "test_add"))
    suite.addTest(testAdd( "test_add2"))
    suite.addTest(TestSub( "test_sub"))
    suite.addTest(TestSub( "test_sub2")) 
ランテストセット
    = unittest.TextTestRunnerランナー()
    runner.run(スイート)

 

例でtestAdd()とTestSubを作成した()試験二つのクラス、calculator.pyファイルの追加()とサブ()は、2つの機能を試験しました。次のように実行結果であるテストスイートによって組み立て()試験方法試験方法は異なるクラスAddTestテストスイートクラス:

 

(セットアップ、試験結果によって見ることができる)およびティアダウン()メソッドは、各テストケースの最初と最後に適用されます。各クラスのsetUp()メソッドとtearDown()で同じで何かをする場合は、クラスのテストもカプセル化することができ、自分のではないでしょうか?

unittestの輸入
電卓輸入カウントから

クラスのMyTest(たunittest.TestCase):
    デフセットアップ(自己):
        プリント(「テストケースの開始」)

    デフティアダウン(自己):
        プリント(「テストケースの終わり」)

クラスTestAdd(MyTestという):

    デフtest_add (自己):
        J =カウント(2,3)
        self.assertEqual(j.add()、5)

    DEF test_add2(自己):
        J =カウント(10,5)
        self.assertEqual(j.add()、15)


クラスTestSub(MyTestという):
    DEFセットアップ(自己):
        プリント( 'テストサブ開始')

    DEF test_sub(自己):
        J = COUNT(3、2)
        self.assertEqual(j.sub()、1)
 
    DEF test_sub2(自己):
        J = COUNT( 10,5)
        self.assertEqual(j.sub(),. 5)

    DEFティアダウン(自己):
        印刷( 'テストEnd Subの')

を行うための#テストクラスのテストメソッド
IF __name__ == '__main__':
    unittest.main()

結果:

 

テストクラスとテストメソッドのための明白な利点のMyTestに()クラスを作成する、我々は、セットアップ()メソッドとtearDown(物事を)を心配することなく、特定のユースケースの準備に焦点を当てるべきです。前提条件のセットアップ()メソッドとtearDown()が各ユースケースのために必要とされている場合しかし、物事はやりました。

 

おすすめ

転載: www.cnblogs.com/lirongyang/p/11505060.html