Unit testing Nancy.Testing是否支持嵌套的Razor视图?
我有一个单元测试,它试图使用不正确的凭据登录,并检查生成的响应体中是否有特定的“errorbox”html。这个很好用Unit testing Nancy.Testing是否支持嵌套的Razor视图?,unit-testing,razor,nancy,Unit Testing,Razor,Nancy,我有一个单元测试,它试图使用不正确的凭据登录,并检查生成的响应体中是否有特定的“errorbox”html。这个很好用 [Fact] public void SignIn__Should_display_error_message_when_error_passed() { var browser = Fake.Browser(); var response = browser.Get("/signin", with => with.Query("error", "true
[Fact]
public void SignIn__Should_display_error_message_when_error_passed()
{
var browser = Fake.Browser();
var response = browser.Get("/signin", with => with.Query("error", "true"));
response.Body["#errorBox"]
.ShouldExistOnce()
.And.ShouldBeOfClass("floatingError")
.And.ShouldContain("invalid", StringComparison.InvariantCultureIgnoreCase);
}
我的页面变得有点重复,所以我重新组织了内容,创建了一组简单的嵌套razor视图,如下所示:
登录视图
@inherits Nancy.ViewEngines.Razor.NancyRazorViewBase<dynamic>
@{
Layout = "_Master.cshtml";
}
<h3>Sign In</h3>
<form class="nice" method="POST">
... [labels, inputs etc]
</form>
@if (Model.HasError)
{
<div id="errorBox" class="floatingError">Invalid UserName or Password</div>
}
@inherits Nancy.ViewEngines.Razor.NancyRazorViewBase<dynamic>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>@Model.Title</title>
... [css javascript etc]
@RenderSection("Head", required: false)
</head>
<body>
@RenderBody()
</body>
</html>
@inherits Nancy.ViewEngines.Razor.NancyRazorViewBase<dynamic>
@{
Layout = "_Master.cshtml";
}
@section Head{
[... shared javascript, css]
@RenderSection("Head", required: false)
}
[.. some shared content]
@RenderBody()
这个问题的答案可以在我的后续问题中找到:
我用更精确的信息提出了一个新问题。请查看:
protected override void ConfigureApplicationContainer(TinyIoCContainer container)
{
base.ConfigureApplicationContainer(container);
Nancy.StaticConfiguration.DisableCaches = true;
}