我们最近将部分代码库迁移到了由lerna管理的共享包仓库中。
这个代码库的一部分包含我们的处理程序,commandHandlers,查询等。有时,为了解析请求,我们使用我们称为parseMultipartBody
的东西。这需要请求具有Content-Type属性,所以我们在jest设置文件中模仿了它。
问题是,在另一个测试中,我们正在测试一个路由,它调用了一个使用相同方法的通用处理程序。问题是,由于它是在共享包中内部调用的,它不知道jest,因此要求Content-Type属性,导致我们的测试中出现级联错误。
那么,我们怎样才能设法“拦截”或阻止内部调用,而不模仿泛型处理程序呢?
1条答案
按热度按时间des4xlb01#
经过广泛的研究,似乎有某种解决办法jest至于什么是调用。模拟我尝试的目标是导出的函数,所以到模块的路径是
@repo/handlers/utils
。但是直接针对文件,在我的例子中是
@repo/handlers/utils/router/parseMultipartBody
,并模拟特定的函数使它工作。