【发布时间】:2018-01-15 16:44:58
【问题描述】:
我构建了一个简单的函数来控制密码是否有:
我构建了一个简单的函数来检查密码是否包含:
- 至少一个大写字母,
- 一个数字,
- 长度必须至少为 8 个字符
函数是:
import re
class Password():
def validate(password):
while True:
if len(password) < 8:
print("False")
elif re.search('[0-9]', password) is None:
print("False")
elif re.search('[A-Z]', password) is None:
print("False")
else:
print("Your password seems fine")
break
这个函数保存在一个名为 password.py 的文件中
现在我想做一个控制每个条件的单元测试:
import Password
import unittest
class TestPassword(unittest.TestCase):
def test_password(self):
valid = Password.Password()
self.assertEqual("asdfA1qw",valid.validate())
if __name__ == '__main__':
unittest.main()
但我不知道怎么做。如何为每个 if 设置控件?
【问题讨论】:
-
如果密码没问题,为什么不让函数返回True?
-
validate似乎没有理由成为类的方法而不是简单的函数。
标签: python unit-testing passwords pycharm