如何配置supertest不解析响应主体?

时间:2019-04-11 16:11:59

标签: supertest superagent web-api-testing

我正在使用supertest为我无法控制的古怪的Web API实施一批canary测试。 API的一项怪癖包括在响应中返回一个纯文本字符串,该字符串将Content-Type声明为application/json

这种特殊的因素组合导致supertest抛出以下错误:

     SyntaxError: Unexpected token s in JSON at position 0
      at JSON.parse (<anonymous>)
      at Stream.res.on (node_modules/superagent/lib/node/parsers/json.js:11:35)
      at Unzip.unzip.on (node_modules/superagent/lib/node/unzip.js:55:12)
      at endReadableNT (_stream_readable.js:1064:12)
      at _combinedTickCallback (internal/process/next_tick.js:138:11)
      at process._tickCallback (internal/process/next_tick.js:180:9)

有人知道是否有禁用解析响应主体的方法吗?

1 个答案:

答案 0 :(得分:0)

我遇到了与您相同的问题,最后我通过研究超级代理库(几乎相同的API)找到了解决方案。 所以这是我解决的方法:

d2 = [{'name': 'bob', 'age': 13, 'height': 164, 'job': 'programmer'}]