日々精進

新しく学んだことを書き留めていきます

mochaのテストファイルをrecursiveに探す

以下のようにfile.walkSyncを使うとrecursiveにファイルを探すことができる。これ便利だなあ。

Mocha = require('mocha')
require "should"
require "long-stack-traces"
path = require "path"
fs = require "fs"
file = require "file"
_ = require "underscore"

TESTS_PATH = "tests/sources/"
mocha = new Mocha

file.walkSync TESTS_PATH, (dirPath, dirs, files) ->
  testJsFiles = _.filter files, (file) -> file.substr(-3) == '.js'
  _.each testJsFiles, (file) ->
    mocha.addFile(path.join(dirPath, file))

mocha.timeout = 5000

runner = mocha.run ->
  console.log('finished')
  process.exit()

runner.on 'pass', (test) ->
  console.log('... %s passed', test.title)

runner.on 'fail', (test) ->
  console.log('... %s failed', test.title)