给定具有单个函数的文件:
export const fetchGetCard = (lang, word) => {
return fetch("/getCard", {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({ lang: lang, word: word })
}).then(response => response.text())
}
如何使用 Jest 创建测试以使该文件具有 100% 的代码覆盖率?或者完全忽略测试是否值得?
答案 0 :(得分:1)
fetch()
创建一个模拟Promise
Promise
(错误/抛出/等)fetchGetCard()
的返回值如果您使用 require()
,您可以通过多种方式轻松模拟 fetch()
:
require.cache[require.resolve("fetch")].exports = <your mock>
访问缓存fetch()
myfetch = require("fetch")
,调用 const stub = sinon.stub(require.cache[require.resolve("fetch")], "exports")
,执行操作,然后使用 stub.restore()
恢复它