解決vue打包 npm run build-test突然不動(dòng)了的問題
今天遇到一件很奇葩的事情
輸入npm run build-test 突然停在這不動(dòng)了 what? 不動(dòng)了?!

后來google了一下 大家都是人才
運(yùn)行一下這句話 就動(dòng)了??!
npm config set registry http://registry.cnpmjs.org
補(bǔ)充知識(shí):vue_test_unit_e2e常見問題npm run unit單元測(cè)試和npm run e2e集成測(cè)試問題
vue項(xiàng)目要進(jìn)行unit和e2e常見問題
localStorage is not available for opaque origins
console.error node_modules\vue\dist\vue.runtime.common.dev.js
通常根據(jù)vue init webpack myproject 生成的項(xiàng)目,選擇了unit和e2e模塊后,都會(huì)有些問題。
1.首先是unit,當(dāng)我們運(yùn)行npm run unit時(shí),會(huì)出現(xiàn)以下問題:
SecurityError: localStorage is not available for opaque origins
因?yàn)檎f是jest運(yùn)行是node環(huán)境,所以沒有l(wèi)ocalStorage。
解決辦法:
在項(xiàng)目?jī)?nèi)test/unit/jest.conf.js文件中
加入以下3句:即可
testEnvironment: 'jsdom', verbose: true, testURL: 'http://localhost'
2.然后,如果你也使用了elementui模塊, 也會(huì)報(bào)錯(cuò)以下:
console.error node_modules\vue\dist\vue.runtime.common.dev.js:621
[Vue warn]: Unknown custom element: <el-table> - did you register the component correctly? For recursive components, make sure to provide the "name" option.
因?yàn)檎f是elementui的組件沒有注冊(cè)。
解決辦法:
修改項(xiàng)目里面test/unit/setup.js文件,內(nèi)容為以下:
import Vue from 'vue'
// 將Vue暴露到全局里面
global.Vue = Vue;
console.log('--global:',global.hasOwnProperty('Vue'))
Vue.config.productionTip = false
// 使用elementui組件
import ElementUI from 'element-ui';
// npm run unit 時(shí)要下面引入樣式那句注釋掉-不知為什么導(dǎo)入會(huì)報(bào)錯(cuò)??赡芤?yàn)闇y(cè)試時(shí),不需要css樣式
// import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI);
項(xiàng)目demo源碼在這:https://github.com/banana618859/vue_test_unit_e2e
拷貝下來后,npm i 然后npm run unit 或 npm run e2e即可

提醒
因?yàn)?mount處理不了用戶交互,所以我們要用到vue官方推薦的@vue/test-utils安裝一下,就可以在項(xiàng)目中使用了。
npm i @vue/test-utils -D
使用:在項(xiàng)目里 test/unit/spec/HelloWorld.spec.js文件中,
import HelloWorld from '@/components/HelloWorld.vue'
import { mount } from '@vue/test-utils'
describe('測(cè)試用helloworld組件',() => {
it('測(cè)試點(diǎn)擊后,msg的改變',() => {
//點(diǎn)擊一下
let wrapper = mount(HelloWorld) // 用@vue/test-utils的mount加載組件
wrapper.vm.newData = 1;
wrapper.find('.btn').trigger('click') //觸發(fā)按鈕點(diǎn)擊事件
expect( wrapper.vm.msg ).toBe('test_if')
})
})
以上這篇解決vue打包 npm run build-test突然不動(dòng)了的問題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用element-ui,el-row中的el-col數(shù)據(jù)為空頁(yè)面布局變亂問題
這篇文章主要介紹了使用element-ui,el-row中的el-col數(shù)據(jù)為空頁(yè)面布局變亂問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08
Vue代理請(qǐng)求數(shù)據(jù)出現(xiàn)404問題及解決
這篇文章主要介紹了Vue代理請(qǐng)求數(shù)據(jù)出現(xiàn)404的問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07
vue項(xiàng)目base64轉(zhuǎn)img方式
這篇文章主要介紹了vue項(xiàng)目base64轉(zhuǎn)img方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-04-04
最適應(yīng)的vue.js的form提交涉及多種插件【推薦】
這篇文章主要介紹了最適應(yīng)的vue.js的form提交涉及多種插件,涉及到 vue.js動(dòng)態(tài)添加css樣式 ,tab切換 ,touch,表單提交,驗(yàn)證,toast,數(shù)據(jù)雙向綁定等。需要的朋友可以參考下2018-08-08
VUE響應(yīng)式原理的實(shí)現(xiàn)詳解
這篇文章主要為大家詳細(xì)介紹了VUE響應(yīng)式原理的實(shí)現(xiàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-03-03
vue將某個(gè)組件打包成js并在其他項(xiàng)目使用
這篇文章主要給大家介紹了關(guān)于vue將某個(gè)組件打包成js并在其他項(xiàng)目使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07
Vue中如何實(shí)現(xiàn)動(dòng)態(tài)路由的示例代碼
本文主要介紹了Vue中如何實(shí)現(xiàn)動(dòng)態(tài)路由的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05

