Được rồi, bỏ qua câu trả lời trước đây của tôi vì ai đó nói với tôi rằng nó không giải quyết được vấn đề.
Câu trả lời mới:
1) Kiểm tra trò hề mới nhất (v 0,22): https://github.com/facebook/jest
2) Nhóm facebook đặt istanbul như một phần của báo cáo bảo hiểm và bạn có thể sử dụng nó trực tiếp.
3) Sau khi thực hiện jest, bạn có thể nhận được báo cáo bảo hiểm trên bảng điều khiển và trong thư mục gốc được đặt bởi jest, bạn sẽ tìm thấy báo cáo bảo hiểm ở định dạng json và html.
4) FYI, nếu bạn cài đặt từ npm, bạn có thể không nhận được phiên bản mới nhất; vì vậy hãy thử github trước và đảm bảo phạm vi bảo hiểm là những gì bạn cần.
Câu trả lời cũ:
Có cùng một vấn đề là tốt. Câu trả lời ngắn gọn là: Istanbul
vàJest
KHÔNG làm việc cùng nhau.
Kiểm tra các trang sau để biết thêm chi tiết:
https://github.com/facebook/jest/issues/101
jest sử dụng bối cảnh chạy các tập lệnh JS trong ngữ cảnh V8 trong mã gốc, do đó bỏ qua tất cả các yêu cầu và vm.runIn ThisContext của istanbul. Vì vậy, vỏ bọc istanbul sẽ không hoạt động do các hàm node.js có thể móc nối tiêu chuẩn không được sử dụng và các tệp tiền sử dụng sẽ không giúp ích gì vì mọi thử nghiệm đều chạy trong hộp cát của chính nó và không có đối tượng nào có thể chứa đối tượng phủ sóng.
@Ciro Costa: config.collectCoverage
KHÔNG hoạt động, vì đó là chức năng 'TODO'. Vui lòng kiểm tra mã nguồn.