【发布时间】:2012-01-24 12:05:10
【问题描述】:
假设我有这个代码:
[HttpPost]
public ActionResult Edit(MyViewModel viewModel)
{
if (ModelState.IsValid)
{
_myRepository.SaveStuff(viewModel.Property1, viewModel.Property2);
return RedirectToAction("MyAction", "MyController");
}
else
{
return View("Edit", viewModel);
}
}
这是 ASP.NET MVC,但这实际上与我的问题无关。真正的要点是,仅在满足要求时才调用方法(SaveStuff)。现在我想为这个方法编写单元测试......
我测试调用了repository中的方法,当modelstate有效时返回了一个RedirectToRoute。我测试当modelstate无效时返回ViewResult。
我的问题是,我是否也应该编写一个测试,以确保在模型状态无效时不调用存储库上的方法?这看起来不错测试必须确保我没有得到任何不需要的保存。但是我觉得如果我走这条路,测试事情不会发生,我必须编写的测试数量会增加很多......
【问题讨论】:
标签: unit-testing language-agnostic tdd