Pythonのunittestフレームワークでは、テストケースごとにセットアップとシャットダウンのコードを共有することができます。しかし、テストスイート全体に対するグローバルなセットアップが必要な場合もあります。

以下に、Python unittestでグローバルなセットアップを行う方法を示します。

import unittest

# グローバル変数
feedback = False

def setFeedback(feedbackInput):
    global feedback
    if(feedbackInput == 'y'):
        feedback = True
    else:
        feedback = False

class TestMain(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        super(TestMain, cls).setUpClass()
        setFeedback('y')

    def test_setFeedback(self):
        self.assertTrue(feedback)

if __name__ == '__main__':
    unittest.main()

このコードでは、setUpClassメソッドを使用してテストスイート全体のセットアップを行っています。このメソッドはテストスイートが開始されるときに一度だけ呼び出されます。したがって、setFeedback('y')は一度だけ実行され、その結果はすべてのテストケースで利用できます。

このように、Python unittestでは、テストケースごとだけでなくテストスイート全体に対するセットアップも可能です。これにより、テストの実行時間を短縮することができます。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です