Python フレームワークのsetUp()
との違いは何ですか? セットアップが一方のメソッドではなく他方のメソッドで処理されるのはなぜですか?setUpClass()
unittest
setUp()
およびsetUpClass()
関数、および とtearDown()
で実行されるセットアップの部分を理解したいと思いますtearDownClass()
。
ベストアンサー1
クラスに複数のテスト メソッドがある場合、違いが現れます。setUpClass
と はtearDownClass
クラス全体に対して 1 回実行され、setUp
はtearDown
各テスト メソッドの前後に実行されます。
例えば:
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
(ドット( )は、テストが成功したときの のデフォルト出力.
です。) の前後に とが現れることに注意してください。unittest
setUp
tearDown
test1
そして test2
一方、 と はsetUpClass
、tearDownClass
テスト ケース全体の最初と最後に 1 回だけ表示されます。