Pythonのunittestモジュールは、テスト自動化、テストの集約、テストの独立性などをサポートしています。しかし、コマンドラインから引数を渡す方法については、明確なガイドラインがありません。

以下に、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()

このスクリプトでは、コマンドラインからユーザ名とパスワードを受け取り、それらをテストケースの属性として設定しています。この方法では、unittestの引数解析と競合することなく、コマンドライン引数をテストに渡すことができます。

ただし、この方法はテストの自動化には適していないかもしれません。テストは可能な限り独立して、外部の情報に依存しないようにするべきです。そのため、引数を必要とするテストケースでは、代わりにモックオブジェクトや設定ファイルを使用することを検討してみてください。

投稿者 admin

コメントを残す

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