4

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 で書くことは可能ですか?

4

2 に答える 2

3

これは私のために働く

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-09-26T18:20:32.260 に答える
0

それがまだ関連しているかどうかはわかりませんが、現在は 2015 年です。Node.js は Promises と Generators を最高レベルでサポートしています。これにより、IcedCoffeeScriptとまったく同じくらい簡潔で洗練されたコードを書くことができますが、しわがはるかに少なくなります。

于 2015-04-08T00:07:29.717 に答える