Написание тестов Mocha с IcedCoffeeScript?

Я пытаюсь выполнить некоторые запросы к базе данных в тесте Mocha, но у меня возникают некоторые проблемы.

Вот тест (с использованием Mongoose):

it.only "should create some objects", (done) ->
  await models.MyModel1.count defer(err, oldModel1Count)
  await models.MyModel2.count defer(err, oldModel2Count)

  # ... do some stuff

  await models.MyModel1.count defer(err, newModel1Count)
  await models.MyModel2.count defer(err, newModel2Count)

  assert.equal oldModel1Count + 1, newModel1Count
  assert.equal oldModel2Count + 1, newModel2Count

Команда для запуска тестов:

mocha --compilers coffee:iced-coffee-script --require iced-coffee-script --require mocha --colors --recursive test"

Ошибка происходит в первой строке:

ReferenceError: err is not defined

Я могу только предположить, что он пытается использовать обычный CoffeeScript для выполнения этого кода, поэтому он считает, что defer это функция и пытается оценить err,

Можно ли написать тесты Mocha на IcedCoffeeScript?

2 ответа

Решение

Это работает для меня

mocha --require ./fix_my_iced_tests.js --compilers coffee:coffee-script

создать fix_my_iced_tests.js

require('iced-coffee-script').register()

создайте test/some_test.coffee (убедитесь, что исправление действительно работает)

assert = require 'assert'

describe 'test section', ()->
  it 'is ok', (done)->
    await setTimeout (defer next), 100
    assert.strictEqual(1, 1)
    done()
    return
  return

Вы должны получить что-то вроде этого

  Type subdsl
    √ is ok (102ms)


  1 passing (109ms)

без исправления вы должны получить что-то вроде этого

ReferenceError: next is not defined

--- отредактировано ---

Гораздо лучший вариант найден здесь

mocha --compilers coffee:iced-coffee-script/register

Не уверен, что это все еще актуально, но сейчас 2015 год, и Node.js имеет первоклассную поддержку Promises и Generators, которая позволяет вам писать свой код точно так же лаконично и элегантно, как IcedCoffeeScript, но с гораздо меньшими складками.

Другие вопросы по тегам