我试图在我的mocha-casperjs测试中使用Q promise库。我想知道是否有人可以帮助我理解为什么下面的代码不能解决?代码用coffeescript编写,并使用mocha-casperjs
启动Q = require('./q')
casper.errorHandler = ->
@echo @
throw new CasperError 'Promise Failed'
## Promise version of casper.open()
casper._open = (url) ->
deferred = Q.defer()
@open url, deferred.resolve
return deferred.promise
describe 'Main Test', ->
before ->
casper.start()
console.log 'casper started'
it 'Test Case 1', (done) ->
casper._open('http://google.com')
.then ( ->
'Google'.should.matchTitle
done()), casper.errorHandler()
当调用错误处理程序时,casper回显[object Casper],当前大约为:blank,表示该页面尚未加载。但我认为promise函数会在转到.then()之前等待吗?