W porządku, zignoruj moją poprzednią odpowiedź, ponieważ ktoś powiedział mi, że to nie rozwiązało problemu.
Nowa odpowiedź:
1) Sprawdź najnowszy żart (v 0.22): https://github.com/facebook/jest
2) Zespół na Facebooku umieszcza Stambuł jako część raportu o zasięgu i możesz z niego korzystać bezpośrednio.
3) Po wykonaniu dowcipu możesz pobrać raport pokrycia na konsoli, aw katalogu głównym ustawionym przez żart znajdziesz raport pokrycia w formacie json i html.
4) FYI, jeśli zainstalujesz z npm, możesz nie dostać najnowszej wersji; więc najpierw wypróbuj github i upewnij się, że zasięg jest tym, czego potrzebujesz.
Stara odpowiedź:
Mam też ten sam problem. Krótka odpowiedź brzmi: Istanbul
i Jest
NIE pracują razem.
Sprawdź następujące strony, aby uzyskać szczegółowe informacje:
https://github.com/facebook/jest/issues/101
jest używa contextify, który uruchamia skrypty JS w kontekście V8 w kodzie natywnym, pomijając w ten sposób wszystkie punkty zaczepienia wymagania i vm.runInThisContext w Stambule. Tak więc okładka istanbul nie będzie działać, ponieważ nie są używane standardowe funkcje node.js z możliwością zaczepienia, a pliki pre-instrumenting również nie pomogą, ponieważ każdy test działa we własnej piaskownicy i nie ma globalnego, w którym można przechowywać obiekt pokrycia.
@Ciro Costa: config.collectCoverage
NIE działa, ponieważ jest to funkcja „TODO”. Sprawdź kod źródłowy.