2016-02-23 13 views
5

Tôi liên tục gặp lỗi khi cố gắng giải quyết lời hứa từ aurelia-breeze trong phương pháp thử cho aurelia (typescript + breeze) ứng dụng."Q js chưa được xác định". trong khi cố gắng giải quyết lời hứa từ aurelia-breeze trong phương pháp thử (karma + jasmine)

Khung kiểm tra được sử dụng là karma+jasmine.

Phiên bản của gói aurelia-breeze1.0.0

Aurelia khoe tận dụng es hứa resolver thay vì Q.js, nhưng phương pháp thử nghiệm đang tìm kiếm Q.js để giải quyết lời hứa trả về từ gió.

Tôi đã cố gắng thêm thư viện Q đến đối tượng window từ tập tin spec. Nhưng breeze.debug.js đang cố gắng truy cập vào các số Q js từ đối tượng window trước khi được đặt trong tệp spec.

điều này không giải quyết được sự cố.

Vui lòng giúp tôi giải quyết vấn đề này.

Trả lời

5

Something như thế này nên làm việc:

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

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

// ... tests ... 

Breeze phụ thuộc vào Q cho lời hứa và jQuery cho ajax. Aurelia-breeze shims cả hai người phụ thuộc với những lời hứa ES6 và aurelia http-client tương ứng. Đoạn mã trên mô phỏng hiệu quả những gì sẽ xảy ra trong cuộc gọi .plugin('aurelia-breeze') khi chạy ứng dụng aurelia của bạn.

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

+3

Cảm ơn sự giúp đỡ của bạn rất nhiều. Tôi đã có thể giải quyết vấn đề bằng đoạn mã trên với một thay đổi nhỏ. 'nhập {Container} từ 'aurelia-dependency-injection';' –

+0

nice- Tôi đã cập nhật câu trả lời với thay đổi của bạn –

Các vấn đề liên quan