C# 南希:我如何测试元描述标签是否存在

C# 南希:我如何测试元描述标签是否存在,c#,unit-testing,nancy,C#,Unit Testing,Nancy,我有一个超级简单的tempate页面,页面上有一个元描述。我想编写一个测试来验证是否存在单个元描述,以及内容是否为空 这就是我目前的测试结果: [Test] public void Get_Root_Should_Return_Page_With_Meta_Description() { // Given var browser = new Browser(new Bootstrapper()); // When var result = browser.Get

我有一个超级简单的tempate页面,页面上有一个元描述。我想编写一个测试来验证是否存在单个元描述,以及内容是否为空

这就是我目前的测试结果:

[Test]
public void Get_Root_Should_Return_Page_With_Meta_Description()
{
    // Given
    var browser = new Browser(new Bootstrapper());

    // When
    var result = browser.Get("/");

    // Then
    result.Body["@description [content]"].ShouldExistOnce();
}
它传递是否存在元描述

页面如下所示:

<!DOCTYPE html>
<html>
<head>
    <title>@Model.Title</title>
    <meta charset="utf-8" />
    <meta name="description" content="@Model.MetaDescription" />

@模型名称

我猜我的CSS选择器是无效的,有人知道如何让测试工作吗?

它在引擎盖下使用CsQuery,所以你可以使用CSS选择器,比如jQuery:

根据您的示例,我创建了一个测试路线:

    Get["description"] = _ => @"<!DOCTYPE html>
<html>
<head>
    <title>@Model.Title</title>
    <meta charset=""utf-8"" />
    <meta name=""description"" content=""@Model.MetaDescription"" />
</head>
<body>
</body>
</html>";
Get[“description”]=\u=>@
@模型名称
";
然后添加了一个单元测试:

[Fact]
public void Get_Root_Should_Return_Page_With_Meta_Description()
{
    // Given
    var browser = new Browser(x => x.Module<TestModule>());

    // When
    var result = browser.Get("/description");

    // Then
    result.Body["meta[name=description]"].ShouldExistOnce();
}
[事实]
public void Get_Root_应该返回带有Meta_Description()的页面
{
//给定
var browser=新浏览器(x=>x.Module());
//什么时候
var result=browser.Get(“/description”);
//然后
result.Body[“meta[name=description]”。ShouldExistOnce();
}
测试通过:

修改名称值:

并运行相同的测试:

所以问题只是你正在使用的选择器