Alright, bỏ qua câu trả lời trước của tôi như ai đó nói với tôi nó không giải quyết được vấn đề.
mới trả lời:
1) Kiểm tra jest mới nhất (v 0.22): https://github.com/facebook/jest
2) Đội 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 báo cáo bảo hiểm trên bảng điều khiển và trong thư mục gốc được thiết lập bởi jest, bạn sẽ tìm thấy báo cáo phủ sóng ở đị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 rằng mức độ phù hợp là những gì bạn cần.
Cũ Trả lời:
Got cùng một vấn đề là tốt. Câu trả lời ngắn gọn là: Istanbul
và Jest
KHÔNG hoạt động cùng nhau.
Kiểm tra các trang sau để biết chi tiết hơn:
https://github.com/facebook/jest/issues/101
jest sử dụng contextify chạy script JS trong một bối cảnh V8 trong mã nguồn gốc như vậy, bỏ qua tất cả các istanbul của yêu cầu và móc vm.runInThisContext. Vì vậy, bìa istanbul sẽ không hoạt động vì các chức năng node.js tiêu chuẩn có thể không được sử dụng và các tập tin định trước sẽ không giúp ích gì vì mọi thử nghiệm chạy trong hộp cát riêng của nó và không có toàn cầu để chặn đối tượng phủ sóng.
@Ciro Costa: config.collectCoverage
KHÔNG hoạt động vì đây là chức năng 'TODO'. Vui lòng kiểm tra mã nguồn.
Tôi không thích thú lắm, nhưng bạn đã thấy [config.collectCoverage] (http://facebook.github.io/jest/docs/api.html#config-collectcoverage-boolean) chưa? –
Mã nên sử dụng cờ cấu hình đó [được nhận xét] (https://github.com/facebook/jest/blob/db003d5dc76b966199f8072343de1f18231d82e3/src/defaultTestResultHandler.js#L99-L103). –