I have a Mocha test file that looks like this:
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)
})
})
})
When I run mocha
from the CLI, it runs the test successfully.
When I run standard
(the executable for JavaScript Standard Style) I get errors on Mocha's framework functions like so:
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.
What's the cleanest way to make Standard not complain about these functions?
Actually, you don't need to list every single global variable in your package.json
You can specify environments instead like this:
Source: Official ESLint configuration docs.
while eslint's comment configuration works great for a single file, I prefer to use standard's
package.json
globals
configuration to do this for my projects. E.g.As pointed out by Nick Tomlin you just need to declare globals.
I use to put it in the command line, since I have different globals for tests as for sources or different parts of the project.
For tests we should use
elsewhere in my project I want to lint code that uses jQuery so I use
Bonus tip
If you are using vim with Syntastic you maybe want to add to your .vimrc
I prefer to edit my
.eslintrc
and add mocha to env section:this way my
package.json
file is kept clean, also vscode plugin for eslint understands it betterfor eslint use this line on the beginning of test_file.js
You can use the same solution as for web workers