ユーザ名とパスワードの入力をテストする単体テストをPythonで書こうとしています。私はユーザ名とパスワードの両方のユーザ入力のプロンプトを使用しています。ユーザ名とパスワードの資格情報のためのPython 2.x.xのモックプロンプト
ユーザー名とパスワードの入力を求める2つの機能があります。両方の機能が長さをチェックします。また、パスワードの長さがゼロの場合、パスワード関数は例外をチェックします。これらの例外を模倣する方法はありますか?
私はユーザー名のプロンプトを渡すことができますが、pytestスクリプトはユーザー名の入力後に保持されるので、苦労しています。ユーザー名とパスワードの両方を模擬する方法はありますか?
私はかなり新しいPythonですが、私はドキュメントを見てきましたが、私が見てきたことは、現在、現時点では実装していないPython 3.x.xです。どんな助けでも大歓迎です。
私はのinit機能は実際に私が持っている頭痛のほとんどを引き起こしていると思います。これを回避する方法はありますか?
class Login(object):
def __init__(self, args, env="test"):
created_token = self.login()
def login(self):
username = self.args.username
if len(username) == 0:
username = self._get_username()
password = self.args.password
if len(password) == 0:
password = self._get_password(username)
def _get_username(self):
return prompt('%s Username (%s): ' % (self.domain)
def _get_password(self):
if password is None:
password = prompt_sensitive('%s Password: ' % self.domain)
try:
except ParseError,e:
print "ParseError message"
except ClientError,e:
print "ClientError message"
なぜプロンプトを使用していますか?既知の正の値と既知の負の値に対してテストしないでください。プロンプトは自動テストを終了します。 –
プロンプトは、単体テストを作成しようとしている元のコードのプロンプトです。申し訳ありませんが、最初の部分でそれを明確にしていませんでした。 – user2769952
プロンプトの最小限の例を投稿した場合は、おそらく良い答えを与えることができます。 – 2rs2ts