Esta dica permitirá que você execute o teste npm na raiz do seu projeto e automatize seu conjunto de testes.
Primeiro, você precisa entender alguns conceitos básicos de como o Mocha funciona. Em seu projeto, você terá que ter uma pasta chamada ‘./tests’ e armazenar todos os seus arquivos de especificações para que isso funcione.
Na raiz do seu projeto, crie um Makefile com o seguinte conteúdo:
REPORTER = dot
TESTS = test/*.coffee
test:
@NODE_ENV=test ./node_modules/.bin/mocha
--reporter $(REPORTER)
$(TESTS)
.PHONY: test
Observe que estou usando coffeescript para meus testes, caso você esteja escrevendo seus testes em JS simples, basta substituir a extensão .coffee na linha 2 por .js
Mais sobre testes de coffeescript : Mocha permite que você especifique argumentos ao executar testes , nesse caso, crie um arquivo mocha.opts dentro da pasta ‘./test’ com o seguinte:
--compilers coffee:coffee-script
Não se esqueça de adicionar Mocha como “devDependencies” no seu arquivo “package.json”. Se você quiser usar uma biblioteca de asserções de terceiros, terá que adicioná-la lá também.
Seu arquivo de teste deve ser mais ou menos assim:
http = require("http")
assert = require("assert")
app = require("../app")
describe "API v1", ->
describe "GET /todos", ->
it "should return at 200 response code", (done) ->
http.get
path: "/todos"
port: 3000
, (res) ->
assert.equal res.statusCode, 200, "Expected: 404 Actual: #{res.statusCode}"
done()
Adicione isto ao seu package.json:
"scripts": { "test": "make test" },
Execute o teste npm e você deve obter os resultados do teste.