如何在玩笑测试中模拟json.parse()

时间:2018-11-09 15:26:52

标签: json reactjs parsing jestjs

我的代码中有try / catch,当代码落入catch部分时,它会命中JSON.parse()

catch(err){
    JSON.parse(err.message)
}

代码正在运行,但是测试失败。测试只是断言尝试中发生了什么

try {
   popUp.method(mockedUrl)
}

该测试只是断言该方法已被调用,但由于在JSON.parse()阶段出现异常而失败。只是想知道如何将其存根,以便知道我传递给json的内容?

1 个答案:

答案 0 :(得分:2)

您可以模拟JSON.parse实现

JSON.parse = jest.fn().mockImplementationOnce(() => {
  // return your what your code is returning.
});

一旦您不应该测试javascript内置对象JSON,就足够了。因此您可以返回期望的代码,其余的应该没问题。