uri*_*rig 65 javascript mocha.js
我有一个看起来像这样的Mocha测试文件:
var expect = require('chai').expect
var muting = require('../muting')
describe('muting', function () {
describe('init()', function () {
it('should inject an object into twitter', function () {
var twitter = 'twitter'
muting.init(twitter)
expect(muting.twitter).to.equal(twitter)
})
})
})
Run Code Online (Sandbox Code Playgroud)
当我mocha
从CLI运行时,它成功运行测试.
当我运行standard
(JavaScript标准样式的可执行文件)时,我在Mocha的框架函数中遇到错误,如下所示:
standard: Use JavaScript Standard Style (https://github.com/feross/standard)
c:\..\test\index.js:5:0: 'describe' is not defined.
c:\..\test\index.js:6:2: 'describe' is not defined.
c:\..\test\index.js:7:4: 'it' is not defined.
Run Code Online (Sandbox Code Playgroud)
什么是使标准不抱怨这些功能最干净的方法?
Krz*_*zor 113
实际上,您不需要在package.json中列出每个全局变量
你可以像这样指定环境:
"standard": {
"env": [ "mocha" ]
}
Run Code Online (Sandbox Code Playgroud)
来源:官方ESLint配置文档.
Dev*_*ium 94
我更喜欢编辑我的.eslintrc
并将mocha添加到env部分:
...
"env": {
"commonjs": true,
"node": true,
"mocha": true
},
...
Run Code Online (Sandbox Code Playgroud)
这样我的package.json
文件保持干净,eslint的vscode插件也更好地理解它
Nic*_*lin 58
虽然eslint的注释配置适用于单个文件,但我更喜欢使用标准配置来为我的项目执行此操作.例如package.json
globals
{
"name": "my-package",
"version": "1.0.0",
"standard": {
"globals": [
"describe",
"context",
"before",
"beforeEach",
"after",
"afterEach",
"it",
"expect"
]
}
}
Run Code Online (Sandbox Code Playgroud)
Ryu*_*usa 44
对于eslint,在test_file.js的开头使用这一行
/* eslint-env mocha */
Run Code Online (Sandbox Code Playgroud)
Nik*_*olt 38
您可以使用与Web worker相同的解决方案
/* global describe it */
var expect = require('chai').expect
var muting = require('../muting')
describe('muting', function () {
describe('init()', function () {
it('should inject an object into twitter', function () {
var twitter = 'twitter'
muting.init(twitter)
expect(muting.twitter).to.equal(twitter)
})
})
})
Run Code Online (Sandbox Code Playgroud)