Javascript 如何用笑话刺探函数
我在主函数中调用了一些单独的函数。我怎么能开玩笑地窥探这些函数呢 我有这样一个函数:Javascript 如何用笑话刺探函数,javascript,node.js,jestjs,Javascript,Node.js,Jestjs,我在主函数中调用了一些单独的函数。我怎么能开玩笑地窥探这些函数呢 我有这样一个函数: const insertRecord = async (image) => { const record = new Branch(image) await record.save() } const deleteRecord = async (image) => { const record = new Branch(image) await record.delete(
const insertRecord = async (image) => {
const record = new Branch(image)
await record.save()
}
const deleteRecord = async (image) => {
const record = new Branch(image)
await record.delete()
}
export const main = async (event, image) => {
if (event === insert) insertRecord(image)
if (event === delete) deleteRecord(image)
}
我有另一个带有测试的文件,我导入了main函数
我正在尝试测试主函数是否使用正确的参数调用insertRecord,我该如何做?您不知道-这些函数不是公共API的一部分,它们是实现细节。测试与协作者的交互,在本例中是
分支
。但是,由于您new
更新了它,所以这就变得更加困难了,所以请仔细阅读依赖项反转。谢谢您的回答。。如果我导出其他函数,并在test arquive中导入,我将更改实现。@jonrsharpe。。。我可以监视它们吗?Jest提供了广泛的模拟功能,请参见例如。但是您应该只对协作者使用测试加倍;如果main
正在同一模块中使用其他函数,这同样是一个实现细节,那么您不能也不应该模拟这些函数。您不可以-这些函数不是公共API的一部分,它们是实现细节。测试与协作者的交互,在本例中是分支
。但是,由于您new
更新了它,所以这就变得更加困难了,所以请仔细阅读依赖项反转。谢谢您的回答。。如果我导出其他函数,并在test arquive中导入,我将更改实现。@jonrsharpe。。。我可以监视它们吗?Jest提供了广泛的模拟功能,请参见例如。但是您应该只对协作者使用测试加倍;如果main
正在同一模块中使用其他函数,这也是一个实现细节,那么您不能也不应该模拟这些函数。