2016-04-10 39 views
2

Bir uygulama yazdım (raylı 5.0.0beta3) ve ActionCable kullanarak çeşitli canlı güncellemeler vardır.
Bu yüzden yazdıklarımı test etmek istedim. Gemfile'a poltergeist ekledim ve paketledim ve bir örnek çalıştırdım.
Javascript doğru bir şekilde yürütüldü. Capybara Poltergeist ActionCable testing

Ama zincir dişlisi eklemeye çalıştığında action_cable başarısız:
TypeError: 'undefined' is not a function (evaluating 'this.events[eventName].bind(this)') 
TypeError: 'undefined' is not a function (evaluating 'this.events[eventName].bind(this)') 
    at http://127.0.0.1:63829/assets/application-2d6ae1aa6efc25d4e4902c5f2d384b5473eb4bdcc9489a9857608e6fe9952eb5.js:12789 
... 

Bu eylem kablosunu test etmek yolu değilse bu this line right here

geldiğini düşünüyorlar, bunu nasıl?

+0

siegy'ye yükseltme, rspec/capybara ile başarılı bir şekilde test edilebilen bir kod snippet/repo işaret edebilir misiniz? –

+0

@SzilardMagyar Bunu daha sonra yapacak – siegy22

cevap

2

Muhtemelen bind desteği olmayan phantomjs'in eski bir sürümünü kullanıyorsunuzdur. Phantomjs 2.1.1+

+0

Çok teşekkürler! Homebrew üzerinde neden 2.1.1 bulunmuyor? – siegy22

+0

@RaVeN. Olması gerekir - https://github.com/Homebrew/homebrew-core/blob/fb81645562f7e495a49561065912788af2d1f14f/Formula/phantomjs.rb - belki de senin homebrew ihtiyacı güncelleniyor –

+0

Testlerini poltergeist ile çalıştırdın mı? Şimdi sadece [ActionCable] WebSocket onerror olayı 'eylem kablosunda hata ayıklamayı etkinleştirirsem .. diyor ki: :( – siegy22