【发布时间】:2018-09-05 14:25:39
【问题描述】:
我正在为 API 编写单元测试。
如果我这样做:
const apiResponse:object = JSON.parse(body)
expect(apiResponse).toHaveProperty('error')
并且 API 没有返回 JSON,然后我得到类似:
SyntaxError:JSON 中位置 0 的意外标记 p 在 JSON.parse()
我希望我的测试失败,而不是在我的测试中出错。
我能做的一个有趣的测试是什么;
我收到的这个字符串是否可以解析为有效的 JSON?
【问题讨论】:
-
将其包装在 try/catch 中。除了解析它之外,没有内置的测试 json 有效性的方法。
-
在 @Adriani6 上扩展 更改代码以将解析包装在 Try/Catch 中,然后在解析失败时返回异常,然后 Jest 可以使用错误的 JSON 测试异常,并进行另一个正常测试获得良好的 JSON 数据。
标签: javascript json typescript api jestjs