我真的是 TDD 的新手,实际上,我正在尝试遵循我书中的示例( SportsStore -- Pro ASP.NET MVC Framework/Steve Sanderson/APRESS )。我在第 103-105 页。
尽管有更多关于这方面的内容,但作为所有这些的新手,我对以下陈述感到担忧。
ProductsController controller = new ProductsController(repository);
var result = controller.List(2);
//...
关于上述陈述,当我写这篇文章时(如书中),
var products = result.ViewData.Model as IList<Product>;
我收到编译器错误“System.Web.MVC.ActionResult”不包含 ViewData 的定义...”但是,当我从语句中删除 List() 时,编译器错误消失了。
var result = controller.List(2);//Doesn't work
var result = controller;//It works
有什么问题吗?我查看了 Apress 网站上的那本书,但没有列为勘误表或问题。 所以我真的很失落。
谢谢你的帮助
最佳答案
那是因为 actionresult 不包含 viewdata 的定义但是 viewresult 包含并且 viewresult 实际上是一个 actionresult 所以你可以将它转换为 (ViewResult) 然后获取 viewdata
关于asp.net-mvc - 难以启动基本单元测试(我书中的示例——SportsStore),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2732938/