インタフェースのテストフレームワークのpython-ユニットテスト

A、ユニットテスト主な用途

4つのコアコンセプトでユニットテスト:テストケース(テストケース)、テストスイート(テストスイート)、テストランナー(テストランナー)、テストフィクスチャ(テスト環境データ作成とクリーンアップまたはテストデータ足場)

※テストケース:テストケースのインスタンスは、テストケースです。テストは、(セットアップ)準備環境、テストコードの実行(実行)、およびテスト(ティアダウン)の還元環境を設定する前に

※テストスイート:一緒に多くのテストケース。

※TestLoader:テストケースをテストスイートにロードするために使用されます。

テストケースを実行するために使用される、請求ラン(テスト)を行うテストスイート/テストケースを実行し(結果)方法:※TextTestRunner。

※テストフィクスチャ:構築と破壊するテスト環境

1.たunittest.TestCaseを継承する新しいクラスを作成します。()の実行例をunittest.main呼び出して、セットアップとティアダウンメソッドをオーバーライドすると、セットアップとティアダウンは、各ユースケースの前と後に実行します。

インポートunittestの

クラスTestBaidu(たunittest.TestCase): 

    各ユースケースは、()とティアダウン()メソッドのセットアップを実行します実行する
    あなたはすべてのユースケースを実行する場合、そして唯一の前提条件一回の条件を終了するために実行します。setUpClass()とteardownclass()と
    DEF :セットアップ(自己)
         プリント試験前の初期化が行われる======== 

    DEF ティアダウン(自己):
         プリントテストケースの実行が完了した後操作================仕上げ

    DEF :test_add(自己)
         を印刷。(+ 5. 7 

    DEFのtest_sub(セルフ):
         印刷(3-2 IF  __name__ == " __main__' 
    Unittest.main()

結果:
 >> 
結果:
テストケースの実行に先立って初期化動作 ======== 
12 
の実行終了後にテスト動作 ===== 
初期化動作は、テストの前に実行しました ======== 
テストを実行した後の仕上げ操作 ===== 
<<

 

2. setupClassとteardownClass:(2つのテストは一度だけ行わ、次のコードを参照)のみ初期化条件及び終了条件と、すべてのテストケースを実行します。

インポートunittestの

クラスTestBaidu(たunittest.TestCase): 

    あなたはすべてのユースケースを実行し、条件を終了するための前提条件で一度のみ実行する場合。使用setupclass()とteardownclass()
    @classmethod
     DEF setUpClass(CLS):
         印刷" ============一度だけ実行されたすべてのテストケースの前には" 

    @classmethod 
    DEF tearDownClassを( CLS):
         印刷" 一度だけ============すべてのテストケースを実行した後の" 

    DEF test_add(セルフ):
         印刷。(+ 5. 7 

    DEFのtest_sub(セルフ):
         印刷(3-2 

#1 のpython3の書き込みは、書き込みが実行されますしていない
場合 __name__ == __main__ 
    unittest.main()

操作の結果:
 >> 
テストで開始午後10時19 ... 
すべてのテストケースは一度だけ実行される前に ============ 
12 
1 
、すべてのテストケースは一度だけ実行された後 ============ 
<<

 

二、testsuitの使用
インポートunittestモジュール

(たunittest.TestCaseの)クラスTestBaidu:
    DEF TEST01(セルフ):
        印刷( 'TEST01テスト...')

    DEF TEST02(セルフ):
        印刷( 'TEST02テスト...')

    DEF TEST03(セルフ):
        印刷( 'TEST03テスト...')

__name__ == '__main__' IF:
    SUIT = unittest.TestSuiteインスタンスは、()#テストセット作成
    suit.addTest(TestBaidu( 'TEST01') )#の実行されるようにテストケースを追加するには、テスト・セットを
    suit.addTestを(TestBaidu( 'TEST02'))
    #suit.addTest([TestBaidu( 'TEST01')、TestBaidu( 'TEST02')])
    ランナー= unittest.TextTestRunner()は、試験#を実行するために使用される
    runner.run(スーツ)

  

第三に、unittest.TestLoader.discoverマッチングディレクトリ内のすべてのユースケース、ディレクトリ内のユースケース名はtestで始まる必要があります
インポートunittestの
 インポートOS 

#はオブジェクトテストスイートのインスタンス化 
SUIT = unittest.TestSuiteインスタンス()
インスタンス化オブジェクトTestLoader 
ローダー= unittest.TestLoader()
すべてのテストを見つけるために発見を()を使用して、ディレクトリ内のファイルとリターンをテストスイートにデータを追加します。
s.addTests(loader.discover(os.getcwd()))
RUN = unittest.TextTestRunner()
run.run(S)

 PS:ああ、多くの報酬ポイントのようなこの記事便利な友人を見つけます!

おすすめ

転載: www.cnblogs.com/xiao-erge112700/p/11943504.html