Skip to main content

Teste End-to-End

Testing the integrity of React components by publishing in a private registry

E2E and Verdaccio

Alguns projetos organizam pacotes em repositórios multi-pacotes ou mono repositórios. O teste E2E é um tópico que geralmente só é relevante para as Interfaces de usuário, porém do ponto de vista do Node.js, a publicação de pacotes também requerem testes.

Tal abordagem tem sido realmente difícil de alcançar, considerando:

  • Populate canary packages on public services seems not to be a good idea
  • Some self-hosted OSS registries are too heavy
  • Offline environments (private networks)

O Verdaccio é um registro leve com zero configurações que se encaixa perfeitamente em qualquer fluxo de trabalho E2E + CI.

Implementation

Ainda não há uma solução única, cada implementação parece ser específica de cada projeto, você pode verificar algumas delas clicando neste tópico.

Exemplos usando Bash

Este é o exemplo mais simples usando o Verdaccio em um script bash (extraído do *create-react-app *).

#!/bin/sh

set -e

local_registry="http://0.0.0.0:4873"

# start local registry
tmp_registry_log=`mktemp`
sh -c "mkdir -p $HOME/.config/verdaccio"
sh -c "cp --verbose /config.yaml $HOME/.config/verdaccio/config.yaml"
sh -c "nohup verdaccio --config $HOME/.config/verdaccio/config.yaml &>$tmp_registry_log &"
# wait for `verdaccio` to boot
grep -q 'http address' <(tail -f $tmp_registry_log)
# login so we can publish packages
sh -c "npm-auth-to-token -u test -p test -e test@test.com -r $local_registry"
# Run nmp command
sh -c "npm --registry $local_registry publish"

Who is using it for E2E?