我有一个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)
})
})
})
当我从CLI运行mocha
,它成功地运行测试。
当我运行standard
(可执行的JavaScript Standard Style)我得到像这样的摩卡的框架功能的错误:
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.
什么是做标准不抱怨这些功能的干净的方式?
其实,你并不需要列出每一个全局变量在你的package.json
您可以指定的环境,而不是像这样:
"standard": {
"env": [ "mocha" ]
}
我宁愿编辑我.eslintrc
并添加到摩卡ENV部分:
...
"env": {
"commonjs": true,
"node": true,
"mocha": true
},
...
这样一来我的package.json
文件保持清洁,对eslint也vscode插件明白它更好
而eslint的评论配置单个文件的伟大工程,我更喜欢使用标准qazxsw POI qazxsw POI配置为我的项目做到这一点。例如。
package.json
对于eslint使用此行test_file.js的开始
globals
您可以使用相同的解决方案为{
"name": "my-package",
"version": "1.0.0",
"standard": {
"globals": [
"describe",
"context",
"before",
"beforeEach",
"after",
"afterEach",
"it",
"expect"
]
}
}
/* eslint-env mocha */
正如web workers你只需要声明的全局变量指出。
我用它来把它的命令行,因为我有一个测试作为源或项目的不同部位不同全局。
对于测试,我们应该使用
/* 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)
})
})
})
在我的项目在其他地方我想使用jQuery的,所以我使用lint代码
Nick Tomlin
如果您使用的是带有Syntastic VIM,你也许要添加到您的.vimrc
standard --global describe --global it test/