我对单元测试有点陌生,我想知道我这样做是否正确。
//Controller
public ActionResult Index()
{
return View("../Message/Index");
}
[TestMethod]
public void MessageViewCorrectTest()
{
var controller = new MessageController();
var result = controller.Index() as ViewResult;
Assert.AreEqual("../Message/Index", result.ViewName);
}
[TestMethod]
public void MessageViewInCorrectTest()
{
var controller = new MessageController();
var result = controller.Index() as ViewResult;
Assert.AreNotEqual("Something/Else", result.ViewName);
}
我这样做对吗,有更好的方法还是这样好?
如有任何反馈,我们将不胜感激,提前致谢。
这是一种可以做到的方法。您还可以根据您的型号类型进行验证
[TestMethod]
public void TestMethod2()
{
MessageController controller = new MessageController();
ActionResult result = controller.Index(1);
Assert.IsInstanceOfType(result, typeof(ViewResult));
//Since view has been asserted as ViewResult
ViewResult viewResult = result as ViewResult;
if(viewResult != null)
{
Assert.IsInstanceOfType(viewResult.Model, typeof(YourModelType));
//Further Asserts for your model
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)