我不是很想找,但我想尽可能保证我的代码重新分解对我的前端没有任何副作用。
让我觉得我不得不重新考虑,例如Action链接不使用字符串作为参数(我发现可怕的东西),使用枚举或常量作为操作和控制器名称。
e.g。 @(Url.UserLink(UserActions.xxx))
但是我觉得很奇怪,我仍然可以输入gobbledygook作为参数(即一个不存在的枚举项),并且项目将构建。浏览页面我收到编译时错误。但是在单元测试中,调用控制器会通过。
有人可以建议任何解决方法,不知何故使用RenderView或测试中的某些东西吗?至少代码不应该编译!?
我没有探索过前端测试人员,例如 watIn 或 Selenium ,但我想这些将会到来......
答案 0 :(得分:1)
刚发现这个小金块。显然,对于默认行为,在构建时允许编译视图不是一个好主意,这里是如何覆盖它(手动编辑web .csproj项目文件):
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
...
<MvcBuildViews>true</MvcBuildViews>
</PropertyGroup>
注意“MvcBuildViews”元素是相关元素。