【发布时间】:2019-04-13 04:39:35
【问题描述】:
我的代码中有一个 try/catch,当代码落入 catch 部分时,它会遇到 JSON.parse()
catch(err){
JSON.parse(err.message)
}
代码正在运行,但测试失败。测试只是断言尝试中发生了一些事情
try {
popUp.method(mockedUrl)
}
测试只是断言该方法已被调用,但它失败了,因为在JSON.parse() 阶段发生了一些事情。只是想知道如何将其存根,以便它知道我传递给 json 的内容?
【问题讨论】:
-
这可能是 XY 问题。通常你需要模拟传递给 JSON.parse 的数据,而不是 JSON.parse 本身。
-
@estus 好的。但是当我在 catch 块中注销
err时,它甚至没有向我显示任何内容。当我console.log('hello')显示时。这让我很困惑。猜它不知道err是什么 -
@Xanax 使用的是 sinon 而不是开玩笑
-
我不确定你的情况。您想模拟它以用于测试目的还是调试目的?您在哪里记录错误以及不显示的错误是什么?它完全是一个对象吗?
JSON.parse(err.message)有什么用途?它什么也没做。请发布您正在测试的代码和您的测试,这样您的案例可能会更清楚。您可以将 JSON.parse 模拟为任何其他方法,但有可能这是错误的决定。
标签: json reactjs parsing jestjs