Skip to content
Latchkey

c8 vs nyc: qual ferramenta de cobertura do Node para CI?

O c8 lê a cobertura nativa do V8 sem instrumentação; o nyc (istanbul) instrumenta o código para relatórios precisos e configuráveis.

O c8 usa a cobertura V8 embutida do Node para reportar sem instrumentar o source, o que é rápido e amigável a ESM. O nyc é a CLI do istanbul que instrumenta o código para uma cobertura detalhada e altamente configurável, o padrão de longa data do Node.

c8nyc
MétodoCobertura nativa do V8Instrumentação istanbul
VelocidadeRápida (sem instrumentar)Mais lenta
Suporte a ESMTransparenteFunciona (config)
Precisão/configBoa, menos ajustesMuito precisa, configurável
MaturidadeModernaPadrão estabelecido

No CI

O c8 é a escolha mais rápida e de menor atrito: ele lê os próprios dados de cobertura do V8 sem instrumentação em tempo de build e lida com ESM de forma transparente, o que reduz o tempo de cobertura. O nyc instrumenta o source para relatórios de linha/branch muito precisos e configuráveis e integra com muitos setups. Se velocidade e ESM importam, c8; se você precisa de relatórios e config istanbul granulares, nyc.

Cobertura no CI

Defina um threshold de cobertura para gatear regressões e faça upload do relatório para seu serviço de cobertura. Ambos adicionam trabalho sobre os testes; runners gerenciados mais rápidos encurtam execuções pesadas de cobertura independentemente da ferramenta.

O veredito

Quer cobertura rápida e amigável a ESM com config mínima: c8. Precisa de relatórios istanbul precisos e altamente configuráveis: nyc. Para projetos ESM modernos o c8 é frequentemente a vitória mais simples; o nyc permanece forte para relatórios detalhados.

Guias relacionados