我目前正在为包含验证例程的业务逻辑类编写一些单元测试.例如:
public User CreateUser(string username, string password, UserDetails details)
{
ValidateUserDetails(details);
ValidateUsername(username);
ValidatePassword(password);
// create and return user
}
Run Code Online (Sandbox Code Playgroud)
我的测试夹具是否应该包含对Validate*方法中可能出现的每个可能的验证错误的测试,或者最好将其留给一组单独的测试?或许验证逻辑应该以某种方式重构?
我的理由是,如果我决定测试CreateUser中可能发生的所有验证错误,那么测试夹具将变得非常臃肿.大多数验证方法都是在不止一个地方使用的......
在这种情况下有任何好的模式或建议吗?
场景:在电子商务系统中,服务台用户应该能够"模仿"或"登录"特定客户(来自基于Web的管理站点),以便他可以直接支持客户 - 例如.当客户打电话时.
补充说明:无需跟踪原始身份验证上下文.我们只需要提供一个"登录为"按钮,该按钮将作为客户登录,而无需帮助台用户需要知道密码.
有关如何使用常规ASP.NET窗体身份验证实现此方案的任何想法?
目前有很多针对.NET的DI/IoC框架(http://www.hanselman.com/blog/ListOfNETDependencyInjectionContainersIOC.aspx).我觉得很难选择.因此,我想衡量一下公众意见,看看哪个框架最受欢迎 - 所以请在这里发布您最喜欢的框架并让人们投票......
是否可以在.NET中检索国家/地区的本地化名称?
该RegionInfo类只具有英文名,显示名称和NativeName -但它似乎并不可能得到例如本地丹麦名为"奥地利",这是"Østrig".他们将始终返回英文名称,无论该线程运行的是哪种文化或UICulture.
有没有我可以使用的技术,还是我必须为此创建数据存储?