Cannot Launch Mocha with CoffeeScript

Makefile - Contents:

REPORTER = dot all: build build: @./node_modules/coffee-script/bin/coffee \ -c \ -o lib src clean: rm -rf lib mkdir lib watch: @./node_modules/coffee-script/bin/coffee \ -o lib \ -cw src test: @./node_modules/mocha/bin/mocha \ --reporter $(REPORTER) \ test/*.coffee .PHONY: build clean watch test 

In the project root directory there is a test folder with two files: mocha.opts and example.coffee

example.coffee - Content

 describe "feature", -> it "should add two numbers", -> (2+2).should.equal 4 

When running make test , getting the following error:

 cribe 'feature', ^^^^^^^^^ node.js:201 throw e; // process.nextTick error, or 'error' event on first tick ^ SyntaxError: Unexpected string at Module._compile (module.js:429:25) at Object..js (module.js:459:10) at Module.load (module.js:348:31) at Function._load (module.js:308:12) at Module.require (module.js:354:17) at require (module.js:370:17) at /home/my_username/testcode/coffeepress/node_modules/mocha/bin/_mocha:261:27 at Array.forEach (native) at load (/home/my_username/testcode/coffeepress/node_modules/mocha/bin/_mocha:258:9) at Object.<anonymous> (/home/my_username/testcode/coffeepress/node_modules/mocha/bin/_mocha:249:1) at Module._compile (module.js:441:26) at Object..js (module.js:459:10) at Module.load (module.js:348:31) at Function._load (module.js:308:12) at Array.0 (module.js:479:10) at EventEmitter._tickCallback (node.js:192:40) 

Running Mocha with js files succeeds but cannot make it work with CoffeeScript. I really want to - for the sake of brevity.

Please guide.

+42
coffeescript mocha
Mar 30 '12 at 10:03
source share
3 answers

From Mocha 1.0:

coffee-script is no longer supported out of the box. CS and similar transpilers can be used by matching file extensions (for use with --watch) and the module name. For example --compilers coffee:coffee-script with CoffeeScript 1.6- or --compilers coffee:coffee-script/register with CoffeeScript 1.7+.

(Quote http://visionmedia.imtqy.com/mocha/#compilers-option ) So you need to add a line

 --compilers coffee:coffee-script/register 

or, for CS <= 1.6.x,

 --compilers coffee:coffee-script 

into your mocha.opts file.

+88
Mar 30 2018-12-12T00:
source share
โ€” -

Starting with CoffeeScript 1.7, the option should be:

 --compilers coffee:coffee-script/register 

issue was posted to Mocha github.

+27
Jan 30 '14 at 0:10
source share

It took me two changes for my mok arguments to make this work:

 --require coffee-script/register --compilers coffee:coffee-script/register 
0
Apr 23 '14 at 15:22
source share



All Articles