Eri*_*k T 9 testing unit-testing viewengine razor asp.net-mvc-3
我正在尝试MVC3 Razor视图引擎,我正在探索的功能之一就是能够对视图进行单元测试.
我已经看到了许多示例,其中Razor视图可以编译为程序集并呈现为字符串.问题是它呈现为一个字符串,所以我留下了字符串搜索!
这是我想要做的.
我想这样做的原因是我可以测试输出的特定部分.帮助程序可能会吐出包含各种输出块的HTML.我想要做的是查看是否有一个具有特定值的复选框(例如).如果您已经看过Selenium测试,它与我想要做的类似,除了不是服务器驱动的测试.
有没有办法让编译的Razor(或其他视图引擎)视图发出除字符串以外的东西?
简而言之,答案是否定的,因为视图引擎的目的就是吐出字符串。将这些字符串解析为 XML 文档是一种赋予它们一定结构的方法,就像 @Craig-M 所建议的那样。但你必须问自己的是你真正测试的是什么。如果您的视图编译并生成某种 HTML,则它生成的内容可能会出现三个问题:
最后一个测试非常好,但为什么不在 javascript 单元测试中测试它呢?查看流行的 javascript 单元测试套件,如 JsUnit、FireUnit、QUnit 等。它们在解析 Razor 输出方面都会比您做得更好。
我认为分配给复选框的值可能会在控制器测试中进行测试。但要使用您的示例,测试复选框的值可以是 $('#theCheck').val() == 'the value'。您可以针对使用依赖项注入存储库或服务运行的网站运行这些内容,以控制“值”等内容。
只是一个想法。
| 归档时间: |
|
| 查看次数: |
2624 次 |
| 最近记录: |