2

私はチュートリアルに従っています。走りながら

require "should"

describe "feature", ->
   it "should add two numbers", ->
    (2+2).should.equal 4

そして私は走る

mocha routes-test.coffee --compilers coffee:coffee-script

次のエラーが表示されます

 1) feature should add two numbers:
 AssertionError: expected {} to be true
  at Object.true (/home/../../coffeepress/node_modules/should/lib/should.js:251:10)
  at Context.<anonymous> (/home/../../coffeepress/test/routes-test.coffee:7:28)
  at Test.Runnable.run (/usr/lib/node_modules/mocha/lib/runnable.js:184:32)
  at Runner.runTest (/usr/lib/node_modules/mocha/lib/runner.js:300:10)
  at Runner.runTests.next (/usr/lib/node_modules/mocha/lib/runner.js:346:12)
  at next (/usr/lib/node_modules/mocha/lib/runner.js:228:14)
  at Runner.hooks (/usr/lib/node_modules/mocha/lib/runner.js:237:7)
  at next (/usr/lib/node_modules/mocha/lib/runner.js:185:23)
  at Runner.hook (/usr/lib/node_modules/mocha/lib/runner.js:205:5)
  at process.startup.processNextTick.process._tickCallback (node.js:244:9)

ここで何が起こっているのですか?should.js ( npm install should) と mocha をインストールしました。構文ミスか設定ミスか?

4

1 に答える 1

1

問題は、ノードのバージョンと mocha のバージョンが一致していない可能性があり、使用したはずです。そのチュートリアルのファイルを正確に使用した場合、package.jsonmocha 0.10.0 をロードし、0.5.1 をロードする必要があります。現在のバージョンのノード (v0.8.1) で同じことを試したところ、実行時に次の警告が表示されましたnpm install

npm WARN engine mocha@0.10.0: wanted: {"node":">= 0.4.x < 0.7.0"} (current: {"node":"0.8.1","npm":"1.1.34"})
npm WARN engine commander@0.5.1: wanted: {"node":">= 0.4.x < 0.7.0"} (current: {"node":"0.8.1","npm":"1.1.34"})

そして、あなたが提供したテスト例に対して mocha を実行すると、同じエラーが発生します。

単純に mocha を変更し、バージョンを mypackage.jsonにする必要があります

"mocha": ">=0.10.0",
"should": ">=0.5.1"

その後、実行npm updateすると問題が修正され、テストは正常に実行されました。"latest"それらをロックダウンしたい場合は、それらのバージョンをそれらのパッケージの現在のバージョンまたは現在のバージョンに設定することもできます(それぞれ"1.3.0""0.6.3"私がこれを書いている時点で)。

于 2012-07-06T16:53:29.493 に答える