【发布时间】:2014-07-03 22:15:41
【问题描述】:
我刚刚编写了我的第一个单元测试,现在我有一些问题。这里是说测试:
[Test]
public void IndexShouldReturnPosts()
{
// arrange
var repository = Mock.Create<IRepository>();
var posts = new []
{
new Post { Title = "Hello", Slug = "hello", Content = "Some post."},
new Post { Title = "Goodbye", Slug = "goodbye", Content = "Some post."}
};
Mock.Arrange(() => repository.GetAll()).Returns(posts);
var controller = new HomeController(repository);
// act
var result = controller.Index();
var model = (Post[]) result.Model;
// assert
CollectionAssert.AreEqual(posts, model);
}
这个测试通过了,我明白为什么。但是,该网页实际上并没有按预期工作,因为找不到任何视图。
我认为(如果我错了,请纠正我)我需要编写另一个测试来验证视图是否正确呈现,但我不知道如何。
如何测试我的视图是否正确呈现?
【问题讨论】:
-
这个测试与渲染视图无关,这个测试验证当你调用你的控制器时,你会从注入的存储库中返回结果。
标签: c# asp.net-mvc unit-testing tdd