用Mocha和Typescript模拟依赖关系

我有一个使用摩卡的打字稿项目。 假设我们有两个模块,如下所示。

// http.ts export class Http { } // app.ts import Http from './http'; export class App { } 

我在testing应用程序时如何模拟Http模块?

testing通过npm脚本执行如下。

 "test": "cross-env NODE_ENV=test ./node_modules/mocha/bin/mocha", 

摩卡选项(mocha.opts)如下所示。

 test/setup.ts --compilers ts:ts-node/register --compilers tsx:ts-node/register ./src/**/*.spec.ts 

打字稿中的import语句被编译为require 。 您可以使用proxyquire来模拟testing中的任何依赖关系