2013-06-24 45 views
0

目前正在开发一个MVC应用程序,该应用程序有一个注册表格,其中有12-14个字段,用户需要填写以注册我们的网站。关于用户输入有两个要求,令人惊讶的是,他提供了一个唯一的电子邮件和一个唯一的用户名,但仍然不存在于我们的数据库中。我已经有了关于这些验证的测试,并且剩余的用户输入正确性留给验证模型中的记号,如日期格式和密码强度要求等,如下所示:我应该测试用户注册?

[Required(ErrorMessage = "Your password is required")] 
[StringLength(20, MinimumLength = 8, ErrorMessage = "Must be between 8 and 20               characters")] 
[RegularExpression(@"(?=^.{8,}$)(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\s)[[email protected]#$%^&*()]*$", ErrorMessage = "Needs to have lowercase, uppercase and a number")] 
[Display(Name = "Password")] 
public string Password { get; set; } 

没有测试这些符号,我想唯一的测试,我需要写这个逻辑是那些有关验证用户名和电子邮件的独特性和记录添加到数据库,这一点我已经有了,但我担心,只有3次测试可能太少。尽管我认为(并且诚实地希望)我不需要为开箱即用的符号验证进行测试,但是我希望从更有经验和不太懒惰的人那里听到:)另外,如果您可以指出关于在用户注册时应该测试什么的一些通用规则,这将是很好的。

回答

1

如果你有一天决定重写RegularExpression类,你会知道你的测试是否失败。由你决定在哪里画线。我会说这是一个小小的努力。

1

首先,不要为了写它们而写单元测试。往往他们最终没有用,也没有真正证明任何事情。

这些是我通常会写测试的东西。

  • 业务需求。企业已经要求这些,所以你最好确保他们的工作。
  • 正常流量/使用情况。一般测试证明它的行为方式如何。
  • 边缘情况。它们可能不会经常发生,但会通过测试覆盖它。
  • 错误。需要证明那个坏男孩是历史。
  • 培根。总是测试培根。
+0

嗯,我想我已经覆盖了1,2和3。我仍然不知道如何进行bug测试,因为现在我无法想象我的应用程序可能会出现什么问题。我知道我会付出一天的时间来说... –

+0

我的意思是错误是,每当你发现一个错误并修复它时,写一个测试来证明它是固定的。 –