「」 ' モジュールレベル(setup_module / teardown_module)はブロック全体的な話から始まり、 グローバルクラスは動作しません クラスの前と後のクラスレベル(setup_class / teardown_class)だけ(で一度実行 クラス) メソッドは、ステージ(setup_method / teardown_method)を開始します最初と最後の過程で (クラスの) 機能レベル(健康の実施形態にsetup_function / teardown_functionのみ機能 クラスのエフェクト(アクティブでない) setup_functionの teardown_function 「」 ' DEFのsetup_function(): 印刷() 印刷(「各ユースケースを開始する前に:setup_function実行" ) DEF teardown_function(): 印刷(" teardown_function:使用していないケースが後に開始" ) インポート pytest DEF setup_module(): 「」「 これは、モジュールレベルの設定で、それはこのモジュール(test_fixt_class.py)になり 、以前のすべてのテストの実行、それが一度呼び出される。 それは直接機能モジュールとして定義されていることに注意してください」「」 印刷() を印刷(「-------------- --------------モジュールの前にセットアップ」) DEF teardown_module(): 「」 " これは、モジュールレベルのティアダウンでありますそれは(test_fixt_class.py)年には、このモジュールになります 。すべてのテストの実行が完了した後、一度呼び出され 、それがダイレクト機能モジュールとして定義されていることに注意してください「「」 印刷(」----------ティアダウンモジュールの後-------------- ---- " ) クラスのTestCase(): DEF setup_module(セルフ): 「」」 これは、モジュールレベルの設定で、それはこのモジュール(test_fixt_class.py)になり 、以前のすべてのテストの実行、一度呼び出されます。 それがダイレクト機能モジュールとして定義されていることに注意してください「「」 印刷() 印刷(」--------------前クラスのセットアップモジュール---------- ---- 「) DEF teardown_module(セルフ): 」「」 これはモジュールレベルのティアダウンで、それはこのモジュール(test_fixt_class.py)年になります 一度呼び出されたすべての実行されたテストが完了した後、。 それがダイレクト機能モジュールとして定義されていることに注意してください「「」 印刷(」-------------した後、クラスで--------------ティアダウンモジュール- " ) DEF セットアップ(セルフ): セットアップ:実行開始前に、各ユースケース「) DEF ティアダウン(自己): 印刷(」ティアダウン:各ユースケースの実行の終了後に「) DEFの:setup_class(セルフ) 印刷(」setup_class:すべてのユースケースを実行する前に」) DEFのteardown_class(セルフ): 印刷(" teardown_class:すべてのユースケースの実装前" ) DEFのsetup_method(セルフ): 印刷(" setup_method:実行は、各ユースケースを開始する前に" ) DEFのteardown_method(セルフ): 印刷("teardown_method:各ユースケースの実行の終了後" ) DEFのtest_one(自己): 印刷(" ---- test_oneを実行" ) X = " この" アサート ' H ' におけるX DEFのtest_three(自己): 印刷を(" 実行中test_two " ) A = " こんにちは" B = " こんにちは言葉」 主張にB の場合 __name__ ==' __main__ ' : pytest.main([ ' -q '、' test_fixt_class ' ])
結果:
=============================テストセッションが開始さ================== ===========
プラットフォームのWin32 - Pythonの3.7.4、pytest-5.1.0、PY-1.8.0、pluggy-0.12.0の
ROOTDIR:E:\ py_pytest \ 2つの項目をinterfacecollected
test_fixt_class.py
-------------- -------------- Module1標準の前にセットアップ
setup_class:前にすべてのユースケースを実行するには、
setup_method:各ユースケースの開始前に
設定:実装の開始を前に、各ユースケース
。test_one ----実行されている
各ユースケースの終了後に実行:ティアダウンを
teardown_method:各ユースケースの終了後に実行が
setup_method:各ユースケースは、前に開始
セットアップ:ユースケースの開始前に、各実行
test_twoが実行されています。
ティアダウン:各ユースケースの終了後に行われる
各ユースケースの終了後に行われる:teardown_method
teardown_class:すべてのユースケースを実行する前に
、モジュールの後ティアダウン-------------- ----------- ---
[100%]
============================== 2 0.02s ===============に渡さ===============
結論1:
モジュールレベル(setup_module / teardown_module)はブロック全体的な話から始まり、 グローバルクラスは動作しません。
機能レベル(setup_function / teardown_function生態様のみ機能 有効(クラスで効果的ではありません)