我在嘲笑Express时编写了一个Jest测试。
Express 4基本上是一个ES5模块,其独特之处在于它既将Express的主要功能导出为module.exports = ...
,又将命名的功能导出(例如json
和urlencoded
) 。我需要能够同时模拟这两个函数,因为我想模拟{em> both urlencoded
和get
/ post
/ use
函数在app
上。
如果这很重要,我正在用TypeScript编写测试。我宁愿在没有__mocks__
文件夹的情况下处理这个 ,而是直接在测试中编写模拟,因为其余的测试套件都是以这种方式编写的。
基本上,我想做的与这里的相同:Jest: Mock ES6 Module with both default and named export和这里的最后一个示例:https://remarkablemark.org/blog/2018/06/28/jest-mock-default-named-export/-但是这些示例是针对ES6的,而Express是ES5的,不工作。