2016-02-23 30 views
5

ja konsekwentnie otrzymuję błąd podczas próby rozwiązać obietnicę od aurelia-Breeze w metodzie testowej dla Aurelia (maszynopis + wiatr) podanie."Q js jest niezdefiniowana." starając się rozwiązać obietnicę od aurelia-Breeze w metodzie badania (karma + jaśminowym)

Stosowany framework testowy to karma+jasmine.

wersja pakietu aurelia-breeze jest 1.0.0

Aurelia wiatr sprawia, że ​​korzystanie z es obiecują rozpoznawania nazw zamiast Q.js, ale metoda badawcza szuka Q.js rozwiązać obietnica wróciła z bryzą.

Próbowałem dodać bibliotekę Q do obiektu window z pliku spec. Jednak breeze.debug.js próbuje uzyskać dostęp do Q js z obiektu window, zanim zostanie ustawiony w pliku spec.

nie rozwiązało to problemu.

Pomóż mi rozwiązać ten problem.

Odpowiedz

5

Coś jak to powinno działać:

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

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

// ... tests ... 

Breeze zależy od Q do obietnic i jQuery dla AJAX. Aurelia-breeze radzi sobie z tymi zależnościami obietnicami ES6 i klientem http aurelia. Powyższy kod skutecznie symuluje, co stanie się w wywołaniu .plugin('aurelia-breeze') podczas uruchamiania aplikacji aurelia.

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

+3

Dziękuję bardzo za pomoc. Udało mi się rozwiązać problem za pomocą powyższego fragmentu z niewielką zmianą. 'import {Container} z 'iniekcji zależnej od aurelia';' –

+0

nice- zaktualizowałem odpowiedź twoją zmianą –