2013-09-25 39 views
5

Tôi thay đổi mã, mở rộng một số chức năng và thêm unittest mới cho điều đó. Bây giờ, khi tôi chạy thử nghiệm đơn vị của tôi với nghiệp (khuôn khổ kiểm tra - nhài), nó ném cho tôi một lỗikiểm tra không chạy trên nghiệp/hoa nhài/require.js 'Không có dấu thời gian cho * lib *!' lỗi

'There is no timestamp for /libs/angular-bootstrap/ui-bootstrap-tpls.js!' 
Uncaught Error: Script error for: angular-bootstrap 
http://requirejs.org/docs/errors.html#scripterror 
at http://localhost:9876/base/node_modules/karma-requirejs/lib/require.js?1379984163000:138 

Những gì tôi đang làm sai?

+1

Bạn có thể thêm các tập tin cấu hình nghiệp? – busypeoples

+0

cập nhật nội dung của câu hỏi – Ph0en1x

Trả lời

3

Hoàn toàn sai lầm của tôi. khi sử dụng karma-requirejs bạn có main-test.js tệp nơi định cấu hình cách require.js tải tệp. Tôi thêm tham chiếu đến angular-bootstrap với sai lầm, đó là lý do tại sao require.js không thể tìm thấy tệp này và ném nhầm lẫn này. Vì vậy, trong trường hợp của tôi, lỗi này có nghĩa là tên tệp sai được cung cấp.

+1

Bạn có thể cho biết vị trí của lỗi trong tệp 'main-test.js' không? –

+0

Đó là một chút khó nhớ cho chắc chắn, bởi vì Nó giống như 4 tháng trước, nhưng tôi nghĩ rằng đó là một lỗi đánh máy hoặc thứ tự sai của phụ thuộc. – Ph0en1x

+0

chỉ cần lưu ý, thay đổi các giá trị trong thử nghiệm chính và karma.conf sẽ không có hiệu lực cho đến khi bạn khởi động lại quá trình thử nghiệm trong thiết bị đầu cuối. Vì vậy, lưu các tập tin và làm "khởi nghiệp" sau – Millenjo

1

Điều này có thể do không thể truy cập tệp nguồn của bạn. Bạn nên cấu hình nghiệp để phục vụ các kịch bản mà yêu cầu sẽ tìm kiếm chúng. Ví dụ có config vào conf nghiệp

files:[{pattern: 'node_modules/**/*.js', included:false}] 
1

Câu hỏi đặt ra là cũ, OP đã giải quyết vấn đề của mình bằng cách bây giờ, nhưng tôi sẽ thêm hai của tôi cent:

Từ thông báo lỗi (cuối của dòng lỗi đầu tiên), chúng tôi có thể kết luận rằng bạn đã bao gồm tệp paths (hoặc deps) trong main-test.js với tiện ích mở rộng .js. Trong RequireJS, bạn cần phải gọi tên tập tin mà không phần mở rộng, vì vậy bạn paths (hoặc deps) sẽ trông nhiều hơn hoặc ít hơn như thế này:

paths: { 
    'ui-bootstrap': 'libs/angular-bootstrap/ui-bootstrap-tpls' // <- without the extension 
} 
Các vấn đề liên quan