【发布时间】:2010-10-15 14:26:43
【问题描述】:
因此,这些天来,我越来越沉迷于测试驱动的开发,我在考虑 tdd 时编写的代码越多,似乎我必须做出更多关于我应该编写的测试范围的决定。我想制定一个个人政策,即我应该为自己的项目编写多少单元测试,并且想知道我是否能得到一些关于你们采取哪种方法的建议。
这是我目前面临的决定的示例......
我有三门课...
public class User
{
public string Username { get; set; }
public List<Favorite> Favorties { get; set; }
}
public class Favorite
{
public string Username { get; set; }
public int rank { get; set; }
}
public class UserManager
{
public List<Favorite> GetTop5(User user)
{
var qry = from fav in user.Favorties.OrderBy(f => f.rank)
select fav;
return qry.Take<Favorite>(5).ToList();
}
}
我有一个用户类的数据访问层,我已经有一个“GetUser”测试设置。如您所见,在我的业务逻辑中,我有一个方法 UserManager.GetTop5(),它返回我刚刚从数据库中拉出的用户的前 5 个收藏夹。此方法非常简单,目前不涉及外部资源或依赖项。
所以我的问题是,即使失败的可能性很小,你会继续为这个“GetTop5”功能点编写另一个测试吗?
您是否设置了测试以防您将来扩展该功能?还是你觉得这里的测试太过分了?
【问题讨论】:
标签: c# unit-testing tdd test-first