我有以下控制器:
public ActionResult Login(LoginUseraccount loginUseraccount)
{
try
{
if (ModelState.IsValid)
{
//Do something
return RedirectToAction("Index", "Dashboard");
}
else
{
//Do something
return RedirectHomeIndex;
}
}
catch (UserNotActiveException userNotActiveException)
{
//Do something
return RedirectHomeIndex;
}
catch (Exception exception)
{
//Do something
return RedirectHomeIndex;
}
}
我有三个问题:
1) 你会为 if-else 定义两个测试吗?第一个测试将测试 ModelState.IsValid == true,另一个测试 ModelState.IsValid == false?在为模型编写的单元测试中进行测试不是更有意义吗?
2) 你会测试 UserNotActiveException 吗?是否抛出异常由业务逻辑(其他类)决定。所以在业务逻辑测试中做这个测试更有意义,你同意吗?
3)你会测试异常吗?我认为这没有意义。
我知道没有“对”或“错”之分,但我非常感谢您的反馈。