我对 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. 当我将鼠标悬停在var describe: Mocha.SuiteFunction上时describe,VS Code 甚至告诉我。这段代码是如何工作的,更不用说智能感知了?我期待必须做类似的事情mocha.describe()。
1 回答
小唯快跑啊
TA贡献1863条经验 获得超2个赞
当 mocha 加载测试文件时,它会将其添加到global
上下文中。
在这里看到:(
suite.emit(EVENT_FILE_PRE_REQUIRE, global, file, self)
注意global
这里的论点),这里处理:
suite.on(EVENT_FILE_PRE_REQUIRE, function(context, file, mocha) {})
(注意,context
是global
从suite.emit
)
当我将鼠标悬停在
describe
它的var 描述上时,VS Code 甚至告诉我:Mocha.SuiteFunction
您的项目可能已@types/mocha
安装包。直到我跑了 Intellisense 才出现npm install --save-dev @types/mocha
。
添加回答
举报
0/150
提交
取消