[英]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.