Salta al contenuto principale

Test End to End

Testare l'integrità dei componenti di React pubblicandoli in un registro privato

E2E e Verdaccio

Alcuni progetti organizzano pacchetti in repository multi pacchetti o monorepo. Il test E2E è un argomento che è rilevante solitamente solo per le Interfacce Utente, tuttavia secondo Node.js, è necessario testare anche i pacchetti in pubblicazione.

Tale approccio è stato molto difficile da raggiungere considerando che:

  • Popolare i pacchetti canary sui servizi pubblici sembra non essere una buona idea
  • Alcuni registri auto ospitati OSS sono troppo pesanti
  • Ambienti offline (reti private)

Verdaccio è un registro leggero senza configurazione che si adatta perfettamente a qualsiasi E2E + CI workflow.

Implementazione

Non è ancora disponibile la soluzione perfetta, ogni implementazione sembra essere specifica per ciascun progetto; è possibile consultarne alcune nel thread seguente cliccando qui.

Esempio di utilizzo di Bash

Questo è l'esempio più semplice dell'utilizzo di Verdaccio in un bash script (estratto da create-react-app).

#!/bin/sh

set -e

local_registry="http://0.0.0.0:4873"

# avvia il registro locale
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 &"
# attendi che`verdaccio` esegua il boot
grep -q 'http address' <(tail -f $tmp_registry_log)
# fai il login affinché noi possiamo pubblicare i pacchetti
sh -c "npm-auth-to-token -u test -p test -e test@test.com -r $local_registry"
# Esegui il comando nmp
sh -c "npm --registry $local_registry publish"

Chi lo usa per E2E?