摩卡,CoffeeScript,ZombieJS,Tim​​out?

我遇到了一个奇怪的问题,我不知道为什么这样做。

我使用express-coffeescript作为框架,用于testing的应用程序,chai和zombiejs的mochatesting。

request = require 'request' Browser = require 'zombie' assert = require 'assert' chai = require 'chai' should = require 'should' expect = chai.expect chai.should browser = new Browser() describe 'GET /login', -> it 'should login a user successfully', (done) -> browser.on "error", -> console.log "Error" browser.visit "http://localhost/test-laravel/public/login", (browser), -> browser.fill "username", "TheHydroImpulse" browser.fill "password", "SomePassword123" browser.pressButton "login", -> console.log browser.location.pathname should.equal "randomTextHere", "/test-laravel/public/dashboard" 

这段代码工作得很好,运行时testing失败

 mocha test --compilers coffee:coffee-script -R spec 

关于这个或者这个问题的奇怪的事情是当我通过testing时。

 should.equal "/test-laravel/public/dashboard", "/test-laravel/public/dashboard" 

testing应该通过,但相反,它会挂起几秒钟,而不是由于2000毫秒的超时而失败。 我试着四处搜寻,但似乎没有任何文件logging这个问题,或者也许是我自己的错。 几个小时前我刚刚开始学习咖啡书。

行后:

 should.equal "/test-laravel/public/dashboard", "/test-laravel/public/dashboard" 

调用方法:

 done() 

这样做的信号摩卡认为testing已经完成。 这是由于Node.js平台上大部分代码的asynchronous性质所致。