MVC - 强制构建和编译剃刀视图标记

时间:2011-05-10 08:41:42

标签: asp.net-mvc testing razor frontend

我不是很想找,但我想尽可能保证我的代码重新分解对我的前端没有任何副作用。

让我觉得我不得不重新考虑,例如Action链接不使用字符串作为参数(我发现可怕的东西),使用枚举或常量作为操作和控制器名称。

e.g。 @(Url.UserLink(UserActions.xxx))

但是我觉得很奇怪,我仍然可以输入gobbledygook作为参数(即一个不存在的枚举项),并且项目将构建。浏览页面我收到编译时错误。但是在单元测试中,调用控制器会通过。

有人可以建议任何解决方法,不知何故使用RenderView或测试中的某些东西吗?至少代码不应该编译!?

我没有探索过前端测试人员,例如 watIn Selenium ,但我想这些将会到来......

1 个答案:

答案 0 :(得分:1)

刚发现这个小金块。显然,对于默认行为,在构建时允许编译视图不是一个好主意,这里是如何覆盖它(手动编辑web .csproj项目文件):

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    ...
    <MvcBuildViews>true</MvcBuildViews>
  </PropertyGroup>

注意“MvcBuildViews”元素是相关元素。