【问题标题】:nodejs/mocha/nock - mocking an entire html responsenodejs/mocha/nock - 模拟整个 html 响应
【发布时间】:2013-06-01 16:57:59
【问题描述】:

如何为我的测试模拟整个 HTML 正文响应?

我正在使用 nodejs/mocha/nock。

有了 nock 我可以模拟 JSON 响应就好了,例如:

nock('http://myapp.iriscouch.com')
                .get('/users/1')
                .reply(200, {_id: "123ABC", _rev: "946B7D1C", username: 'pgte'});

我使用curl -o 来获取我想要用于模拟的 html,所以我已经将它保存在一个文件中 - 但我不知道如何将 HTML 文件传递​​给 nock(或其他东西)。

谢谢。

【问题讨论】:

    标签: node.js unit-testing express mocking mocha.js


    【解决方案1】:

    首先获取测试文件的 HTML 内容并将其放入字符串中(例如使用 fs.readFile

    之后你可以这样做:

    nock('http://myapp.iriscouch.com').
            get('/users/1').
            reply(200, yourFileContent);
    

    这就是过去对我有用的东西:)

    如果您愿意,您可以明确指定内容类型,因为您将正文指定为字符串,这将有效地让您轻松模拟任何非二进制响应:

    nock('http://myapp.iriscouch.com').
            get('/users/1').
            reply(200, yourFileContent, {'content-type': 'text/html'});
    

    如果您想要更通用的方法,我已向 a more general question 询问过类似问题,并得到了一些有趣的答复。

    【讨论】:

      猜你喜欢
      • 2017-04-15
      • 2015-12-16
      • 2015-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多