Pythonのunittestモジュールを使用してテストを書く際、テストケースに引数を渡す方法について説明します。

コマンドライン引数の使用

Pythonのunittestでは、コマンドライン引数をテストケースに渡すことが可能です。以下にその例を示します。

import sys
import unittest

class MyTest(unittest.TestCase):
    USERNAME = "default_username"
    PASSWORD = "default_password"

    def test_login(self):
        print('username:', self.USERNAME)
        print('password:', self.PASSWORD)

if __name__ == "__main__":
    if len(sys.argv) > 1:
        MyTest.USERNAME = sys.argv.pop()
        MyTest.PASSWORD = sys.argv.pop()
    unittest.main()

このコードでは、sys.argv.pop()を使用してコマンドライン引数を取得し、テストケースのクラス変数に設定しています。これにより、コマンドラインから引数を渡すことができます。

環境変数の使用

環境変数を使用して引数を渡すことも可能です。以下にその例を示します。

import os
import unittest

class MyTest(unittest.TestCase):
    USERNAME = "default_username"
    PASSWORD = "default_password"

    def test_login(self):
        print('username:', self.USERNAME)
        print('password:', self.PASSWORD)

if __name__ == "__main__":
    MyTest.USERNAME = os.environ.get('TEST_USERNAME', MyTest.USERNAME)
    MyTest.PASSWORD = os.environ.get('TEST_PASSWORD', MyTest.PASSWORD)
    unittest.main()

このコードでは、os.environ.get()を使用して環境変数を取得し、テストケースのクラス変数に設定しています。これにより、環境変数から引数を渡すことができます。

以上、Pythonのunittestで引数を渡す方法について説明しました。これらの方法を活用して、より柔軟なテストケースを作成することができます。

投稿者 admin

コメントを残す

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