2015-02-12 27 views
15

Ho una semplice app di brace-cli. Corro i test unitari con ember test, che li esegue in phantomJS. Un test che utilizza Function.prototype.bind non funziona, a causa del noto problema di 1.9.x phantom mancante all'API. Ho installato il phantom 2.0, ma ora quando eseguo lo ember test, dopo averlo completato con successo, i test non sono mai stati eseguiti e semplicemente si blocca lì, senza errori, niente.PhantomJS 2.0 appeso su un test ambra

Qualche idea su quale potrebbe essere il problema qui o su come rintracciarlo?

Il sistema operativo è Windows.

+0

Yo! Juzt uze polyfill per davvero: metti https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind#Polyfill in vendor/phantom-polyfills.js e poi importalo in Brocfile: 'if (app.env === 'test') { app.import ('vendor/phantom-polyfills.js'); } ' – lessless

+0

@lessless Grazie, questo è quello che fondamentalmente ho fatto per risolvere il problema, ma mi piacerebbe ottenere le cose lavorando con phantom 2.0. –

+0

Stai facendo test con 'ember test' o' ember test --serve'? – alexlafroscia

risposta

1

Sto usando Phantom JS 1.9.8 su OSX 10.10 ma ho riscontrato il seguente problema e potrebbe esserti d'aiuto.

Nell'applicazione che sto utilizzando, il flag ENV.baseUrl è impostato su "/ nome-app" (l'essere predefinito - '/') e ho lo stesso identico comportamento. Il test si sviluppa ma non va oltre.

Se cambio il mio ENV.baseUrl in '/', il fantasma esegue i test. I test di accettazione falliscono (presumo a causa del diverso URL, ma passano tutti i test unitari). Tuttavia, quando lo faccio ... eseguendo i test in un vero browser smette di funzionare (perché non riesce più a trovare le risorse - CSS, JS -), ho provato a cambiare la pagina test/index.html per avere il corretto riferimento agli script (/ app-name/css/... ecc ...) e ho ripristinato il comando per eseguire i test nel browser, ma il fantasma ha smesso di funzionare.

Gli stessi test funzionano bene in un "progetto ember-cli vuoto" in cui ho copiato i miei modelli, controller e test per quel progetto. Significa che la differenza tra i due progetti è sostanzialmente la configurazione dell'ambiente.

ho trovato questi problemi

Ember Issue 891, Ember Issue 1003

che sembrano essere legate alla situazione ma entrambi sono chiusi per un certo tempo. Ho esaminato questo problema per quasi una settimana e non riesco a ottenere test in esecuzione nel browser E tramite ember test.

+1

qualsiasi stato su questo? – leojh

+1

Ho lo stesso problema in cui il mio baseUrl =/nome-app. Ho seguito la correzione mostrata nella impegnarsi in questo numero: https://github.com/ember-cli/ember-cli/issues/1003 che doveva assicurarsi che ho avuto ENV.baseURL = '/' impostata in ambienti .js per ambiente === 'test'. Sono ora in grado di eseguire 'ember test' e test nei browser reali tramite 'ember test --serve' NON sono in grado di eseguire test colpendo localhost: 4200//test più, ma posso vivere con quello dal momento che 'ember test --serve' funziona. – benzo

+0

Ci scusiamo per la risposta tardiva @LeoHernandez, al momento ho esattamente la stessa situazione dell'utente benzo. I test vengono eseguiti con il test ember e con il test ember --serve, ma non riesco a eseguire il test quando eseguo localhost: 4200/test –