Nik*_*kov 32 javascript snapshot vue.js jestjs vue-cli
我应该能够-u在运行测试时添加参数,但我不知道为什么它不起作用:
npm run test ComponentName.spec.js -u
npm run test ComponentName.spec.js --updateSnapshot
Run Code Online (Sandbox Code Playgroud)
但它不起作用。我的 package.json:
"scripts": {
"test": "vue-cli-service test:unit",
Run Code Online (Sandbox Code Playgroud)
我知道我可以删除快照文件,但我想弄清楚为什么该命令不起作用。
在 vue-cli 3 中,你常用的 npm 命令调用 vue-cli-service 而不是 jest 了。Vue-cli-service 会为你调用 jest。
您可以运行:
npm run test:unit -- -u
该--是如此,未来的参数必须传递给子命令。
或者
npx vue-cli-service test:unit -u
这将运行测试并升级快照。
如果您正在使用Lerna monorepo 运行一个项目,
您可能想将新脚本添加到包的package.json文件中:
{
// ...
"scripts": {
// ...
"test:update:snapshot": "jest --updateSnapshot"
// ...
}
// ...
}
Run Code Online (Sandbox Code Playgroud)
所以你可以运行
npx lerna run test:update:snapshot
Run Code Online (Sandbox Code Playgroud)
或者您可以直接输入包并运行
npm run test -- -u
Run Code Online (Sandbox Code Playgroud)
基本上--告诉你的命令参数-u是针对它的子命令的。