2015-03-05 17 views
5

Tôi đang sử dụng IO.js 1.4.3 và Jest để chạy các bộ thử nghiệm của mình. Tôi cần một phiên bản V8 mới hơn vì tôi đang sử dụng các tính năng ES6 như Lời hứa.Lỗi phân đoạn Jest (JS) 11 trong IO.js 1.4.3 khi sử dụng yêu cầu()

Nếu tôi thử kiểm tra khả năng đơn giản nhất:

describe('the truth', function() { 
    it('is true', function() { 
     expect(true).toBeTruthy(); 
    }); 
}); 

nó hoạt động (may mắn). Nếu tôi bao gồm, tuy nhiên, một cuộc gọi đến require() (mà tôi phải làm gì để kiểm tra mã của riêng tôi), tôi nhận được:

Using Jest CLI v0.4.0 
Waiting on 1 test...Segmentation fault: 11 

Điều này xảy ra bất kể trong đó mô-đun tôi bao gồm, và cho dù tôi thực hiện một cuộc gọi đến jest.dontMock() Đầu tiên.

Điều này thực sự không cho tôi biết nhiều thông báo lỗi và require thực sự có vẻ là vấn đề. Có bất kỳ giải pháp nào khác ngoài việc hoàn nguyên về node.js trước 1.0 không?

+0

Bạn có thể tạo một ví dụ về repo git để chứng minh lỗi không? Lỗi 'Phân đoạn lỗi 'rất khó để theo dõi, đặc biệt vì điều này có thể xảy ra vì nhiều lý do. – loganfsmyth

+0

Tôi đã phát hiện ra rằng lỗi này dường như có liên quan trực tiếp đến việc sử dụng phiên bản nút cao hơn. Quay trở lại v0.10.38 làm cho công việc của Jest, nhưng tôi thực sự không biết tại sao lại như vậy. – GTF

Trả lời

0

Lỗi phân khúc hầu như luôn đến từ mã C++ gốc, vì JS không thể gây ra sự cố như vậy trừ khi nó kích hoạt lỗi V8. Như vậy, tôi nghi ngờ vấn đề là với mô đun ngữ cảnh tự nhiên mà jest gián tiếp phụ thuộc vào (thông qua jsdom).

Có thể đáng để hack cùng một phiên bản jest phụ thuộc vào jsdom mới nhất, không còn phụ thuộc vào mô-đun gốc nữa.

+0

Nó bắt đầu làm việc với các phiên bản sau của IO.js. Có một số cuộc thảo luận trong các vấn đề Jest khác nhau về điều này, nhưng nó có vẻ phần lớn chưa được giải quyết. – GTF

2

Điều này xảy ra trong trường hợp bạn đã cài đặt node_modules sử dụng node tại một số phiên bản, và sau đó chuyển sang sử dụng iojsnvm install iojs và cố gắng để chạy cài đặt node_modules với npm. Nó không phải là khả năng rằng đây là vấn đề của bạn, nhưng hy vọng bất cứ ai khác googling xung quanh có thể thử này và sửa chữa nó.

nvm install iojs 
rm -rf node_modules 
npm install 

sau đó chạy bất kỳ thứ gì bạn đang cố gắng chạy, thường là một cái gì đó như npm run start.

+0

Bạn nói đúng rằng đây không phải là vấn đề của tôi, tôi đã cố gắng xây dựng lại các mô-đun nút của mình. May mắn là nó đã được cố định trong một số các Jest deps. – GTF

+0

guys, hãy đánh dấu nó là câu trả lời –

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