Sac*_*jan 5 c# asp.net testing tdd unit-testing
我的页面有隐藏字段
<%= Html.Hidden("SessionId", Model.Form.UniqueSessionId) %>
Run Code Online (Sandbox Code Playgroud)
我的控制器
public class SomeController
{
public ActionResult Index()
{
var somemode = new GetSomeModel();
return View(somemodel);
}
}
Run Code Online (Sandbox Code Playgroud)
我想测试视图是否有隐藏字段
protected SomeController controller;
protected void SetupController()
{
controller = new SomeController()
}
[Test]
public void view_has_hidden_field_for_SessionId()
{
ViewResult result = controller.Index() as ViewResult;
Assert.IsTrue(result.contains("<input type="hidden" id="SessionId" />"));
}
Run Code Online (Sandbox Code Playgroud)
问题是:我如何将视图呈现为字符串?有帮助吗?
小智 2
看一下这个解决方案,它支持 razor 视图和标准 asp.net 视图:
我给您的其他建议是使用 html 解析器,例如HtmlAgilityPack,以便您可以查询它来查找隐藏字段。这种方法更好,因为当您重构 html 时,测试 string.contains 会使您的测试变得脆弱。
| 归档时间: |
|
| 查看次数: |
510 次 |
| 最近记录: |