|
|
1
7
测试失败的原因是,当不显式指定视图名时,决定该视图名的是框架的深度。更准确地说,在视图引擎中。因此,要按现状测试它,您必须模拟出更多的请求管道。 我建议不要依赖默认值并显式指定视图:
然后该值将在不模拟任何内容的情况下进行测试:
|
|
|
2
3
这是因为您对MVC框架的工作方式进行了假设。如果您依赖约定来定位视图,那么框架实际上会将viewname属性保留为
您可以在第68行看到此代码
此外,您应该小心测试的内容。根据经验,您应该关注测试 你写的代码 ,而不是框架的代码。确保按约定正确解析视图名称的测试实际上是框架本身的单元测试,而不是基于框架构建的应用程序。 如果您正在寻找一种在MVC中使用模拟的好方法,那么您可能需要考虑测试您的路由(这看起来像您在这里要做的)。你可以 find a post by Phil Haack concerning just this subject 开始吧。 |