Mocha, CoffeeScript, ZombieJS, Timout?



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

我使用express coffeescript作为框架,mocha用于测试,should、chai和zombiejs用于浏览器测试。

 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"

这个代码运行得很好,运行时测试当然失败了

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

这个或问题的奇怪之处在于当我通过测试时。

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

测试应该通过,但由于超时2000秒,它挂了几秒钟而没有通过。我试着四处搜索,但似乎没有任何文件记录这个问题,或者可能是我自己的错。我几个小时前刚开始学习咖啡脚本。

行后:

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

调用方法:

done()

这样做向mocha发出测试已经完成的信号。这是因为大多数在Node.js平台上编写的代码都是异步的。

相关内容

  • 没有找到相关文章

最新更新