15

RedirectToRouteResult. Birim testi benim denetleyicisi Aşağıdaki kod var

Assert.IsTrue(result.RouteValues.ContainsKey("action")); 
Assert.IsTrue(result.RouteValues.ContainsKey("controller")); 
Assert.AreEqual("Index", result.RouteValues["action"].ToString()); 
Assert.AreEqual("Dashboard", result.RouteValues["controller"].ToString()); 

Yani dört benim RedirectToRouteResult test etmek iddia gerekir: ben bu şekilde yaptık. Daha verimli bir yolu var mı?

+0

Bu Evet, bunu bu şekilde yapmak o – Amit

+0

id de assert.instanceoftype yeterlidir: RedirectToRouteResult sonucunu = (RedirectToRouteResult) controller.Captcha (loginUseraccount); Eğer bir RedirectToRouteResult değilse, bir istisna atılır ve test başarısız olur. – Slicksim

+1

ActionResult dönen beri – mosquito87

cevap

7

Eğer bu iki satırı

Assert.IsTrue(result.RouteValues.ContainsKey("action")); 
Assert.IsTrue(result.RouteValues.ContainsKey("controller")); 

olanlar size yazamadığım kodu iddialar vardır test etmek gerekmez çünkü daha verimli bir yol yoktur. Bu kodu yazanların kendi birim testlerine sahip olduğuna güvenmek zorundasınız. Her şeye rağmen, ilk iki satır arızalı olacaksa, iki nihai kararınız başarısız olur.