import unittest
from app import is_valid_size
class TestIsValidSize(unittest.TestCase):
def test_empty_password(self):
self.assertFalse(is_valid_size(“”))
def test_4_char_password(self):
self.assertFalse(is_valid_size(“pass”))
def test_6_char_password(self):
self.assertTrue(is_valid_size(“passwd”))
def test_16_char_password(self):
self.assertTrue(is_valid_size(“ThisIs1Password!”))
def test_20_char_password(self):
self.assertTrue(is_valid_size(“ThisIs1Password!+20”))
def test_21_char_password(self):
self.assertFalse(is_valid_size(“ThisIs1Password!+20&”))
if __name__ == “__main__”:
unittest.main()
所有这些测试都应该通过。
试验is_valid_password
is_valid_password
返回bool
,要么True
或者False
。所以我们可以使用assertTrue
还有assertFalse
方法。
我们将测试:
-
对于空密码
-
三个字符的密码
-
十个字符的密码
-
二十个字符的密码
-
对于包含无效特殊字符(如分号)的密码
-
对于没有数字的密码
-
对于没有小写字母的密码
-
对于没有大写字母的密码
-
对于没有有效特殊字符的密码
-
对于有效的密码
-
一个尺寸以内,[6-20]
-
至少一个小写和大写字符
-
至少一个数字
-
没有无效的特殊字符
TestIsValidPassword
class TestIsValidPassword(unittest.TestCase):
def test_empty_password(self):
self.assertFalse(is_valid_password())
def test_password_of_size_three(self):
self.assertFalse(is_valid_password(“pas”))
def test_password_of_size_ten(self):
self.assertFalse(is_valid_password(“Password12”))
self.assertTrue(is_valid_password(“Password1_”))
def test_password_of_size_twenty(self):
self.assertFalse(is_valid_password(“Password12Password_$”))
def test_password_with_invalid_special_character_semicolon(self):
self.assertFalse(is_valid_password(“Password1_;”))
self.assertFalse(is_valid_password(“Password1;”))
def test_password_with_no_digit(self):
self.assertFalse(i