J'essaie de configurer moka en combinaison avec coffeescript et chai. Avant chaque fichier contenant les essais, je veux inclure le fichier suivant:Impossible d'obtenir un fichier requis avant chaque test
test/_helper.coffee
path = require 'path'
AppDir = path.resolve("#{__dirname}/../src/app")
chai = require('chai')
should = chai.should()
factories = require('chai-factories')
chai.use(factories)
Il en est ainsi que j'ai accès au variabel AppDir. De sorte que je n'ai pas besoin de spécifier le chemin complet vers le répertoire de l'application quand je veux avoir besoin d'un fichier.
test/app/setup-test.coffee
describe 'Setup instance', ->
it 'should be a object', ->
setup = require "#{AppDir}/setup"
setup.should.be.a('object')
J'ai essayé les configurations suivantes:
Ajouté _hellper.coffee aux options de mocha en ligne de commande comme ceci:
./node_modules/.bin/mocha --require coffee-script --require test/_helper.coffee --compilers coffee:coffee-script --recursive --reporter spec test
et ainsi :
./node_modules/.bin/mocha --require coffee-script --compilers coffee:coffee-script --recursive --reporter spec test/_helper.coffee test
Et j'ai essayé habituelle, dans setup-test.coffee:
require '../_helper.coffee'
Quelle que soit la méthode que j'utilise, je reçois l'erreur suivante si je lance le test:
Setup instance
1) should be a object
✖ 1 of 1 test failed:
1) Setup instance should be a object:
ReferenceError: AppDir is not defined
at Context.<anonymous> (/Users/ivotrompert/Dropbox/projects/nodejs/getWallpapers/test/app/setup-test.coffee:8:28)
at Test.Runnable.run (/Users/ivotrompert/Dropbox/projects/nodejs/getWallpapers/node_modules/mocha/lib/runnable.js:184:32)
at Runner.runTest (/Users/ivotrompert/Dropbox/projects/nodejs/getWallpapers/node_modules/mocha/lib/runner.js:300:10)
at Runner.runTests.next (/Users/ivotrompert/Dropbox/projects/nodejs/getWallpapers/node_modules/mocha/lib/runner.js:346:12)
at next (/Users/ivotrompert/Dropbox/projects/nodejs/getWallpapers/node_modules/mocha/lib/runner.js:228:14)
at Runner.hooks (/Users/ivotrompert/Dropbox/projects/nodejs/getWallpapers/node_modules/mocha/lib/runner.js:237:7)
at next (/Users/ivotrompert/Dropbox/projects/nodejs/getWallpapers/node_modules/mocha/lib/runner.js:185:23)
at Runner.hook (/Users/ivotrompert/Dropbox/projects/nodejs/getWallpapers/node_modules/mocha/lib/runner.js:205:5)
at process.startup.processNextTick.process._tickCallback (node.js:244:9)
Et voici mon MAKE fichier si quelqu'un veut savoir comment j'exécuter les tests:
Makefile
REPORTER = spec
DEFAULT_COMMAND = ./node_modules/.bin/mocha --require coffee-script --ui bdd --compilers coffee:coffee-script --recursive --growl --reporter
check: test
test:
@NODE_ENV=test $(DEFAULT_COMMAND) $(REPORTER)
test-watch:
@clear
@NODE_ENV=test $(DEFAULT_COMMAND) $(REPORTER) --watch
coverage:
@jscoverage --no-highlight src src-cov
@SRC_COV=1 $(DEFAULT_COMMAND) html-cov > coverage.html
@rm -rf src-cov
ifeq ($(shell uname), Darwin)
@open coverage.html
else
@xdg-open coverage.html &> /dev/null &
endif
.PHONY: test
quelqu'un peut-il s'il vous plaît aide-moi, merci.
Je ne l'utilise pas pour un fichier mais je veux l'utiliser pour les fichiers multipal, c'est donc une solution parfaite. Je vous remercie –