2016-02-23 21 views
5

sto costantemente ottenendo un errore durante il tentativo di risolvere una promessa da Aurelia-brezza in un metodo di prova per un aurelia (dattiloscritto + brezza) applicazione."Q js non definito." durante il tentativo di risolvere la promessa da Aurelia-brezza metodo di prova (karma + gelsomino)

Il quadro di prova utilizzato è karma+jasmine.

versione del pacchetto aurelia-breeze è 1.0.0

Aurelia brezza fa uso di es promettono resolver invece di Q.js, ma il metodo di prova è alla ricerca di Q.js per risolvere la promessa ha restituito da brezza.

Ho provato ad aggiungere la libreria Q all'oggetto window dal file spec. Ma lo js sta tentando di accedere allojs prima di impostarlo nel file spec.

questo non ha risolto il problema.

Please help me per risolvere questo problema.

risposta

5

Qualcosa del genere dovrebbe funzionare:

import {configure as configureAureliaBreeze} from 'aurelia-breeze/index'; 
import {Container} from 'aurelia-dependency-injection'; 

const container = new Container(); 
configureAureliaBreeze({ container, globalResources:() => {} }); 

// ... tests ... 

Breeze dipende Q per promesse e jQuery per Ajax. Aurelia-brezza abbatte entrambe le dipendenze con le promesse ES6 e l'aurelia http-client rispettivamente. Il codice sopra simula in modo efficace ciò che accadrebbe in una chiamata .plugin('aurelia-breeze') durante l'esecuzione dell'applicazione aurelia.

https://github.com/jdanyow/aurelia-breeze/blob/master/src/index.js#L15-L16

+3

Grazie mille per il vostro aiuto. Sono stato in grado di risolvere il problema utilizzando lo snippet sopra riportato con una piccola modifica. 'import {Container} da 'aurelia-dependency-injection';' –

+0

nice- Ho aggiornato la risposta con il tuo cambiamento –