【发布时间】:2009-06-07 21:05:52
【问题描述】:
我的每个单元测试应该检查多少?比如我有这个测试
[TestMethod]
public void IndexReturnsAView()
{
IActivityRepository repository = GetPopulatedRepository();
ActivityController activityController = GetActivityController(repository);
ActionResult result = activityController.Index();
Assert.IsInstanceOfType(result, typeof(ViewResult));
}
还有
[TestMethod]
public void IndexReturnsAViewWithAListOfActivitiesInModelData()
{
IActivityRepository repository = GetPopulatedRepository();
ActivityController activityController = GetActivityController(repository);
ViewResult result = activityController.Index() as ViewResult;
Assert.IsInstanceOfType(result.ViewData.Model, typeof(List<Activity>));
}
显然,如果第一个测试失败,那么第二个测试也会失败,那么这两个测试是否应该组合成一个带有两个断言的测试?我的感觉是,测试越细化,每次测试检查的越少,找到失败原因的速度就越快。但是,拥有大量非常小的测试会产生开销,这可能会花费时间来运行所有测试。
【问题讨论】:
标签: unit-testing testing tdd testing-strategies