端对端测试
通过在私有注册中心发布来测试 React 组件的完整性
React 组件的最后阶段是发布和分发。 如何确保我的包不会在生产环境中崩溃? 本讲座将帮助您将 React 组件发布到私有注册中心,并对其运行端到端测试,从而测试 React 组件。
端到端和 Verdaccio
有些项目会将软件包组织在多软件包仓库或 monorepos 中。 端到端测试通常只与用户界面相关,但从 Node.js 的角度来看,发布包也需要进行测试。
考虑到以下因素,这种方法确实很难实现:
- 在公共 registry 上发布 canary 版本的包看起来并不是一个好主意
- 一些自托管的 OSS 注册中心太重
- 离线环境(私有网络)
Verdaccio 是一个零配置的轻量级注册中心,完美适合任何 E2E + CI 工作流程。
实现
目前还没有好的方案,每个实现似乎都是针对各自项目的,您可以在以下主题中查看其中一些 点击此处。
开源示例
以下项目有使用 Verdaccio 的开源示例
Bash 示例
- Bun
- Babel.js
- Docusaurus
- create-react-app
- pnpm
- Uppy
- ethereum/web3.js
- adobe react-spectrum
- Mozilla Neutrino
这是在 bash 脚本中使用 Verdaccio 的最简单示例(摘自 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"
Docker示例
程序示例
Verdaccio 模块
通过 CLI: