44 votes

Impossible d'exécuter Mocha avec CoffeeScript

Makefile - Contenu :

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

Le répertoire racine du projet contient un dossier de test avec deux fichiers : mocha.opts et example.coffee.

exemple.coffee - Contenu

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

En cours d'exécution make test Je reçois l'erreur suivante :

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)

L'exécution de Mocha avec des fichiers js réussit, mais je n'arrive pas à le faire fonctionner avec CoffeeScript. Je voudrais vraiment le faire - pour la brièveté du code.

Veuillez guider.

0voto

Evan Moran Points 1420

J'ai eu besoin de deux changements dans mes args mocha pour que cela fonctionne :

--require coffee-script/register
--compilers coffee:coffee-script/register

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X