我对JS有点陌生,对Mocha还是很陌生,所以如果这是一个愚蠢的问题,我深表歉意...
由于我正处于新的附带项目的早期阶段,所以我最近开始与Mocha合作。我已经在npm i mocha --save-dev
的本地安装了摩卡咖啡。
我开始考虑是否应该实现项目的一部分,例如mocha,因为我对上手如此简单感到非常满意。问题是我不知道他们如何进行此设置。我已经查看了GitHub上的一些代码,但需要一个概括的摘要。
这是我的test.js
文件
const app = require('../src/app');
const assert = require('assert');
describe('my app', function(){
it('does something cool', function(){
assert.strictEqual(app.foo(), true);
})
});
我很困惑,因为我没有const mocha = require('mocha');
,但是VS Code仍然可以识别describe
before
和it
之类的标识符。 VS代码甚至告诉我,当我将鼠标悬停在describe
上时,它是 var描述:Mocha.SuiteFunction 。
此代码如何工作,更不用说IntelliSense了?我原本希望做类似mocha.describe()
的事情。
答案 0 :(得分:1)
当mocha加载测试文件时,会将其添加到global
上下文中。
suite.emit(EVENT_FILE_PRE_REQUIRE, global, file, self)
(在此处注意global
自变量),suite.on(EVENT_FILE_PRE_REQUIRE, function(context, file, mocha) {})
(请注意,context
是global
的{{1}})VS代码甚至告诉我,当我将鼠标悬停在
suite.emit
上时,它是 var描述:Mocha.SuiteFunction
您的项目可能已安装describe
软件包。直到我运行@types/mocha
时,Intellisense才出现。