2015-02-12 22 views
15

Doğrudan bir imber-cli uygulamasına sahibim. Birim testleri phantomJS'de çalıştıran ember test ile çalıştırıyorum. Phantom 1.9.x'in bu API'yi içermediği bilinen bir sorun nedeniyle, Function.prototype.bind kullanarak yapılan bir test başarısız oluyor. Ben phantom 2.0 yükledim, ama şimdi ember test koştuğumda, başarılı bir şekilde inşa ettikten sonra, testler asla çalışmaz ve sadece orada asılı, hata yok, hiçbir şey oturur.Hayalet testte asılı PhantomJS 2.0

Sorunun ne olabileceği ya da nasıl izlenilebileceği hakkında herhangi bir fikir var mı?

İşletim Sistemi Windows.

+0

Yo! Juzt uze polyfill gerçek için: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind#Polyfill satıcıda/phantom-polyfills.js ve daha fazlasını içe aktarın Brocfile: 'if (app.env === 'test') { app.import ('vendor/phantom-polyfills.js'); } ' – lessless

+0

@lessless Teşekkürler, temelde sorunu çözmek için yaptım, ama phantom 2.0 ile çalışan şeyler almak istiyorum. –

+0

Testlerinizi "ember testi" veya "ember testi --serve" ile mi çalıştırıyorsunuz? – alexlafroscia

cevap

1

OSX 10.10 üzerinde Phantom JS 1.9.8 kullanıyorum ama aşağıdaki problemi yaşadım ve bunu bilmenize yardımcı olabilir.

Kullanmakta olduğum uygulamada, ENV.baseUrl bayrağı "/ app-name" (varsayılan değer - '/') olarak ayarlandı ve bende tam olarak aynı davranışı var. Test inşa eder, ancak daha fazla gitmez.

ENV.baseUrl'imi '/' olarak değiştirirseniz, fantom testleri gerçekleştirir. Kabul testleri başarısız (Farklı URL'den dolayı varsayım var, ancak tüm birim testleri geçer). Ancak, bunu yaptığımda ... testlerin gerçek bir tarayıcıda çalıştırılması çalışmayı durdurur (kaynakları bulamıyor - CSS, JS - artık), testlerin/index.html sayfasının değiştirilmesini denedim. Scripts referansı (/ app-name/css/... etc ...) ve tarayıcıda testleri çalıştırmaya geri döndüm, ama fantom çalışmayı durdurdu.

Aynı testler, modelleri, denetleyicileri kopyalayıp o projeye test ettiğim "boş bir ember-cli projesinde" sorunsuz çalışır. İki proje arasındaki farkın temel olarak çevre konfigürasyonu olduğu anlamına gelir.

ben durumla ilgili gibi görünüyor bu konuları

Ember Issue 891, Ember Issue 1003

buldum ama hem süredir kapalı. Neredeyse bir hafta boyunca bu sorunu araştırıyordum ve ember test aracılığıyla AND tarayıcıda çalışan testler göremiyorum.

+1

bu konuda herhangi bir durum var mı? – leojh

+1

Ben baseUrl =/app-name ile aynı sorunu yaşıyorum. Bu sorunla ilgili olarak gösterilen düzeltmeyi izledim: https://github.com/ember-cli/ember-cli/issues/1003 ENV.baseURL = '/' ortamlarda ayarlandığından emin olmak için çevre için === 'test'. Şimdi 'ember testi' ve 'ember testi --serve' üzerinden gerçek tarayıcılarda testleri çalıştırabiliyorum artık test edebiliyorum testlere göre localhost: 4200//testleri artık yaşayabilirim, ama yaşayabilirim Bununla birlikte 'ember testi - sunucu' çalışıyor. – benzo

+0

Geç cevap @LeoHernandez için özür dilerim, şu anda kullanıcı benzo olarak aynı durum var. Testler, ember testi ile çalışır ve ember testi --serve ile çalışır ancak localhost'a isabet ederken çalışamıyorum: 4200/tests –