2016-02-23 13 views
5

ich konsequent einen Fehler bekommen bin zu lösen, während ein Versprechen von aurelia-Brise in einem Testverfahren für einen aurelia (Typoskript + zu lösen versuchen Brise) Anwendung."Q js ist undefiniert." bei dem Versuch, Versprechen von aurelia-Brise in Testverfahren (Karma + Jasmin)

Testing Framework verwendet wird .

Version des aurelia-breeze Paket ist 1.0.0

Aurelia Brise Verwendung von es versprechen Resolver statt Q.js macht, aber die Testmethode sucht nach Q.js zu lösen Das Versprechen kehrte von Brise zurück.

Ich habe versucht, die Q Bibliothek in das window Objekt aus der spec-Datei hinzuzufügen. Aber die breeze.debug.js versucht, auf die Q js aus dem window Objekt zuzugreifen, bevor es in der spec Datei festgelegt wird.

Dies behebt das Problem nicht.

Bitte helfen Sie mir, dieses Problem zu lösen.

Antwort

5

So etwas sollte funktionieren:

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

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

// ... tests ... 

Breeze hängt von Q für Versprechungen und jQuery für Ajax. Aurelia-breeze schirmt beide Abhängigkeiten von ES6-Versprechen und dem aurelia-HTTP-Client ab. Der Code oben simuliert effektiv, was in einem .plugin('aurelia-breeze') Anruf geschehen würde, wenn Sie Ihre aurelia Anwendung laufen lassen.

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

+3

Vielen Dank für Ihre Hilfe. Ich konnte das Problem mithilfe des obigen Snippets mit einer kleinen Änderung beheben. 'importieren {Container} von 'Aurelia-Abhängigkeit-Injektion';' –

+0

schön- Ich aktualisierte die Antwort mit Ihrer Änderung –