在VS2015中,对于TypeScript的Mocha单元测试。

4
我正在使用空的Node.js TypeScript项目。当我为TypeScript添加Mocha单元测试时,它显示找不到一些关键字(“describe”,“it”),如下所示:enter image description here 我该如何解决这个问题?
2个回答

4
您需要为Mocha添加一个d.ts文件,以便TypeScript编译器可以理解您正在使用的库。有几种方法可以获得此文件:
  1. 转到http://definitelytyped.org/并浏览Mocha的GitHub repo。看起来您可以在这里找到您想要的文件:https://github.com/borisyankov/DefinitelyTyped/blob/ffceea9dd124d277c4597c7bd12930666ec074c5/mocha/mocha-node.d.ts
  2. 使用命令行中的tsd(http://definitelytyped.org/tsd/)。这是一个npm包,可以从DefinitelyTyped安装d.ts文件。安装后,请浏览到要添加文件的根目录,并从命令行运行tsd install mocha-node
  3. 使用Nuget查找Mocha d.ts文件。首先,单击这里:enter image description here然后搜索mocha并安装此包:enter image description here
在获取d.ts文件后,您需要向单元测试添加一个///<reference>标记,以便Visual Studio找到d.ts文件并解析它。类似于这样- /// <reference path="typings/mocha/mocha.d.ts"/>。
希望能对您有所帮助。

我运行了npm i -D @types/mocha @types/expect,然后在test.ts文件中进行了引用:/// <reference path="./node_modules/@types/mocha/index.d.ts" /> 从来没有明白为什么VS不会自动修复这个问题。 - Patrik Lindström

2

如@Michael Braude所说@Michael Braude所说,导入mocha的d.ts文件, 现在我们可以简单地这样做;

  1. Install mocha and mocha type define by

    npm i -D mocha @types/mocha
    
  2. Add this line in your *.test.ts file

    import 'mocha'
    

安装@types/mocha包解决了我的问题,而无需导入“mocha”。谢谢! - laszlo-horvath

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接