私は奇妙な問題に遭遇しました、そしてそれがなぜそれをしているのか理解できません。
フレームワークとして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ミリ秒のタイムアウトのために失敗するよりも数秒間ハングします。私は周りを検索しようとしましたが、この問題を文書化するものは何もないようです、または多分それは私自身のせいです。私は数時間前にコーヒースクリプトを学び始めたところです。