2016-03-05 23 views
7

Tôi thấy lỗi sau khi chạy thử nghiệm đơn vị góc 2 của tôi bằng cách sử dụng nghiệp với jenkins.Lỗi Karma khi chạy thử nghiệm angular2 qua jenkins trên linux

Thử nghiệm của tôi chạy tốt khi tôi chạy chúng trên máy cục bộ (cửa sổ), tuy nhiên khi chạy kiểm tra qua jenkins trên linux tôi nhận được lỗi sau.

Missing error handler on `socket`. 
TypeError: (msg || "").replace is not a function 
at /home/hudson/.hudson/jobs/workspace/pjt/node_modules/karma/lib/reporter.js:45:23 

Thử nghiệm của tôi chưa bao giờ bắt đầu bất kỳ ý tưởng nào có thể gây ra điều này. Tôi đã xem xét mã nguồn nghiệp và tôi không thể hiểu tại sao có vấn đề.

return function (msg, indentation) { 
// remove domain and timestamp from source files 
// and resolve base path/absolute path urls into absolute path 
msg = (msg || '').replace(URL_REGEXP, function (_, prefix, path, __, ___, line, ____, column) { 
    if (prefix === 'base') { 
    path = basePath + path 
    } 
    // more code here ... 

Tôi đang sử dụng PhantomJS làm người thử nghiệm trong trường hợp có liên quan cả cục bộ lẫn trên jenkins.

Tôi đánh giá cao bất kỳ gợi ý nào về vấn đề có thể xảy ra.

+0

Bản năng đầu tiên của tôi là máy cục bộ của bạn có sẵn những thứ không có sẵn trên máy chủ/nô lệ xây dựng của Jenkins. Bạn có chắc chắn trình xây dựng được thiết lập chính xác để có thể chạy thử nghiệm không? Bạn đã thử chạy chúng theo cách thủ công trên máy chủ đó chưa? – Cronax

+0

@Cronax Tôi chưa có quyền truy cập trực tiếp vào máy jenkins được sắp xếp, nhưng tôi đang trong quá trình nhận nó. Tôi sẽ cố gắng xây dựng theo cách thủ công và giữ cho bạn được đăng. –

Trả lời

3

Để trả lời câu hỏi của riêng tôi về vấn đề này.

Tắt vấn đề với phần tệp nghiệp của tôi.

{ pattern: 'node_modules/rxjs/bundles/rx.js', included: true, watched: true } 

Các tên tập tin cho các mô-đun rx là node_modules/rxjs/bó/Rx.js

Với Linux là trường hợp nhạy cảm đây là lý do nó làm việc trên môi trường windows dev và thất bại trên linux xây dựng máy chủ.

Thông báo 404 cho tệp rx.js đã có trong nhật ký nhưng tôi đã bỏ lỡ rất nhiều bản ghi gỡ lỗi khác.

Bài học kinh nghiệm :)

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