繁体   English   中英

测试ASP.NET MVC视图模型

[英]Testing ASP.NET MVC View Model

我正在使用Nunit和Moq来测试我的asp.net mvc解决方案。 这是测试传递给视图的模型是正确的对象/集合的好方法吗?

[Test]
public void Start_Page_Should_Display_Posts()
{
    var posts = new List<Post> {new Post {Id = 1}, new Post {Id = 2}};

    var mock = new Mock<IRepository>();
    mock.Setup(x => x.FindAll<Post>()).Returns(posts.AsQueryable());

    var controller = new PostsController(mock.Object);
    var result = controller.Index(null) as ViewResult;
    var viewModel = controller.ViewData.Model as IEnumerable<Post>;

    Assert.IsNotNull(result);
    Assert.IsTrue(viewModel.Count() == mock.Object.FindAll<Post>().Count());
}

我理解这种测试框架,但希望你能明白我的意思。 我能相信这个测试吗?

目前我有点累,所以不要犹豫,要求详细说明。

谢谢

不,它不测试(仅?)框架。 它测试执行操作会导致ViewModel包含一个非null,与mock中提供的计数相同的集合。

你可以简化最后的条件

Assert.IsTrue(viewModel.Count() == posts.Count);

甚至

Assert.IsTrue(viewModel.Count() == 2);

我的意思是它是一个单元测试,在那里有一些硬编码值是正常的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM