Python ユニットテストの setUp() と setUpClass() の違いは何ですか? 質問する

Python ユニットテストの setUp() と setUpClass() の違いは何ですか? 質問する

Python フレームワークのsetUp()との違いは何ですか? セットアップが一方のメソッドではなく他方のメソッドで処理されるのはなぜですか?setUpClass()unittest

setUp()およびsetUpClass()関数、および とtearDown()で実行されるセットアップの部分を理解したいと思いますtearDownClass()

ベストアンサー1

クラスに複数のテスト メソッドがある場合、違いが現れます。setUpClassと はtearDownClassクラス全体に対して 1 回実行され、setUptearDown各テスト メソッドの前後に実行されます。

例えば:

class Example(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        print("setUpClass")

    def setUp(self):
        print("setUp")

    def test1(self):
        print("test1")

    def test2(self):
        print("test2")

    def tearDown(self):
        print("tearDown")

    @classmethod
    def tearDownClass(cls):
        print("tearDownClass")

このテストを実行すると、次のように出力されます。

setUpClass
setUp
test1
tearDown
.setUp
test2
tearDown
.tearDownClass

(ドット( )は、テストが成功したときの のデフォルト出力.です。) の前後に とが現れることに注意してください。unittestsetUptearDowntest1 そして test2一方、 と はsetUpClasstearDownClassテスト ケース全体の最初と最後に 1 回だけ表示されます。

おすすめ記事