如何在单元测试中检查模型属性

use*_*185 3 c# unit-testing moq razor asp.net-mvc-3

我有一个Action如下:

public ActionResult SaveAndExit()
{
    ViewModel1 viewModel = new ViewModel1();

    return View("Index", viewModel);
}
Run Code Online (Sandbox Code Playgroud)

在单元测试中,我想检查RegviewModel中的视图是否为null.请给我任何建议

测试:

//act
var result = controller.SaveAndExit(viewModel) as ViewResult;

//assert
//Assert.IsNotNull(!result.Model["Reg"].Equals(null));
Run Code Online (Sandbox Code Playgroud)

mag*_*tte 10

我倾向于按如下方式编写断言(在这里使用Microsoft测试框架断言 - 你没有指定nunit):

// Act
ActionResult result = controller.SaveAndExit(viewModel);

// Assert
Assert.IsInstanceOfType(result, typeof(ViewResult));
ViewResult viewResult = (ViewResult)result;

Assert.IsInstanceOfType(viewResult.Model, typeof(ViewModel1));
ViewModel1 model = (ViewModel1)viewResult.Model;

Assert.IsNotNull(model.Reg);
Run Code Online (Sandbox Code Playgroud)