【问题标题】:Nancy test method returning [Err!] for response bodyNancy 测试方法为响应正文返回 [Err!]
【发布时间】:2013-08-15 01:59:55
【问题描述】:

我是使用 Nancy 开发的新手,我很困惑为什么我的测试方法的响应体返回“[ERR!]”而不是我期望的标记。

    private BrowserResponse _response;

    [Test]
    public void GetLoginIsOk()
    {
        var accountDatabase = new AccountDatabase();
        var loginModule = new LoginModule(accountDatabase);
        var browser = new Browser(c => c.Module(loginModule));

        _response = browser.Get("/login");
        _response.StatusCode.ShouldBe(HttpStatusCode.OK);

        Console.Write(_response.Body.AsString());
    }

测试通过(即返回的状态码正常)。但是,我想对返回的标记进行额外的验证,以便预期的表单字段确实存在。

【问题讨论】:

    标签: nancy


    【解决方案1】:

    要测试标记可以使用选择器来查询正文,如下所示:

    _response.Body["#someelement"].ShouldExist();
    

    详情请见documentation

    【讨论】:

    • 我应该在我的原始帖子中指出我最初的尝试包括你上面的陈述。当语句失败时,我开始检查响应的正文,发现它只包含“[ERR!]”。我在另一个测试中使用了 Console.Write(_response.Body.AsString()) 并验证返回的标记确实符合我的预期。我想在这一点上,我只是想获得一些关于我应该从哪里开始尝试跟踪问题发生的指导,因为当我单步执行我的代码并返回响应代码时,一切都在按应有的方式执行没问题。
    【解决方案2】:

    我弄清楚我的问题是什么。我已经设置了一个母版页,但忘记将其设置为复制到输出目录。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-23
      • 2012-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多