我想知道,測試基本CRUD操作中的有效性和錯誤的最佳方法是什麼?試試Catch,ModelState.IsValid還是兩者?
當我第一次用於生成腳手架MVC控制器,他們有這樣的事情:
if (ModelState.IsValid)
{
// do stuff
return View("SuccessfulView")
}
// if we got this far something went wrong, redisplay
return View()
但現在我得到這樣的:
try
{
// do stuff
return RedirectToAction("SuccessfulView");
}
catch
{
return View();
}
測試的ModelState是不一樣的測試因爲我很想把它們都放進去。
但是後來我想知道爲什麼MS沒有在更新腳手架代碼時把它們都放進去(這無疑是他們做的 因爲某種原因)。
另外,每一個基本動作,然後開始被變得相當費解:
if (ModelState.IsValid)
{
try
{
// do stuff
return RedirectToAction("SuccessfulView");
}
catch
{
return View();
}
}
// if we got this far something went wrong, redisplay
return View()
謝謝SHemmelburg。我很好奇爲什麼MS會從腳手架中取代另一個腳手架,而乳清它們不會默認放在兩個腳手架上。這似乎是一個明顯的選擇,除非我錯過了一些東西(這很可能) –
@Martin Hansen Lennox,我同意,也許他們會在某個時候,但現在,只要我們知道如何實現這些功能,我認爲我們會沒事的。 :) – shammelburg