Итак, у меня много каталогов с тестовыми файлами и запускаю скрипт для каждого каталога в нем.Это выглядит так:
unitTests
- func1Tests
---- run.coffee
---- suiteGroup1.coffee
---- suiteGroup2.coffee
- func2Tests
---- run.coffee
---- suiteGroup1.coffee
---- suiteGroup2.coffee
Каждый файл run.coffee содержит код, подобный следующему:
describe 'func1 tests', ()->
require './suiteGroup1.coffee'
require './suiteGroup2.coffee'
А файлы suiteGroup - это тесты mocha BDD с описанием, до / после и этим.
Итак, в консоли я запускаю все тесты по команде с дикими символами (например, mocha ./unitTests/*/run.coffee)
Я хочу программно запустить все тесты, требуя, чтобы сценарии запускалисьих пути (пути, которые я получаю по шару).
describe 'All tests', ()->
glob "unitTests/*/run.coffee", (err, files)->
for path in files
require path
Но это не работает.Я тоже попробовал это.
describe 'All tests', ()->
glob "unitTests/*/run.coffee", (err, files)->
require files[0]
Но это тоже не работает.Похоже, что mocha не выполняет описания в необходимом файле из-за использования glob.
Конечно, я могу просто написать скрипт bash с помощью консоли, но я бы предпочел решить это с помощью coffeescript.
Я бы также предпочел избегать жесткого кодирования всех путей выполнения, например:
describe 'all tests', ->
require 'unitTests/func1Tests/run.coffee'
require 'unitTests/func2Tests/run.coffee'
...
Итак, как решить эту проблему?