2016-02-23 19 views
5
bir aurelia için bir test yönteminde aurelia-esinti gelen bir söz çözmeye çalışırken ben sürekli bir hata alıyorum

(typescript + esinti) uygulama."Q js undefined." Test yöntemi (karma + yasemin) içinde aurelia-esinti gelen söz çözmeye çalışırken

Kullanılan test çerçevesi karma+jasmine'dur. aurelia-breeze paketin

Versiyon 1.0.0

Aurelia esinti es kullanılması yerine Q.js ait çözümleyicinizi vaat yapar, ama test yöntemi çözmek için Q.js arıyor Söz verilen sözler esintiden geri döndü.

ben spec dosyadan window nesneye Q kütüphane eklemeye çalıştık. Ancak breeze.debug.js, spec dosyasında ayarlanmadan önce window nesnesinden Q js erişmeye çalışıyor. Bu sorunu çözmediler. Bu, bu sorunu çözmedi.

Lütfen bu sorunu çözmek için bana yardım edin. Böyle

cevap

5

şey çalışmalıdır:

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

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

// ... tests ... 

Breeze ajax vaatler ve jQuery için Q bağlıdır. Aurelia-breeze, bu bağımlılıkların her ikisini de ES6 sözleriyle ve aurelia http-client ile sıralar. Yukarıdaki kod, aurelia uygulamanızı çalıştırırken bir .plugin('aurelia-breeze') çağrısında ne olacağını etkili bir şekilde simüle eder.

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

+3

Yardımlarınız için çok teşekkür ederim. Yukarıdaki snippet'i kullanarak sorunu küçük bir değişiklikle çözebildim. 'import {Container} 'aurelia-dependency-injection';' –

+0

nice- Cevabınızı, değişiklikle birlikte güncelledim –