從網(wǎng)上找了很多例子關(guān)于單元測試,都是如何新建項目的時候的添加單元測試,用vue-cli中怎么添加,但是我的項目已經(jīng)生成了,不能再一次重新初始化,這時如何添加單元測試,這里面遇到了好多坑,寫在這里記錄一下心得。
1、用vue-cli生成一個新的項目,把單元測試需要的文件直接復(fù)制到你的項目中
vue init webpack vuetest
2、安裝Karma+Mocha模塊,這個模塊依賴比較多,我在遇到了坑,解決問題半天發(fā)現(xiàn)缺少了某個模塊,在這里全部列出需要的模塊
代碼如下:npm i -D karma karma-webpack phantomjs-prebuilt karma-phantomjs-launcher karma-phantomjs-shim karma-chrome-launcher karma-sourcemap-loader mocha karma-mocha sinon chai sinon-chai karma-sinon-chai karma-spec-reporter karma-coverage
3、修改package.json,在scripts里添加啟動代碼
"unit": "karma start test/unit/karma.conf.js --single-run",
4、修改test目錄下的index.js文件,這里是我遇到的最大的坑,解決了半天,總是提示.scss文件出錯,下面就是解決的辦法。
const srcContext = require.context('../../src', true, /^\.\/(?!main(\.js)?$)/)
改為:
const srcContext = require.context('../../src', true, /^\.\/(style$) /)
應(yīng)該是karma為了測試代碼的覆蓋率,原本加載了除main.js的所有文件,我改為把style去除
5、可以復(fù)制vue-cli生成的項目文件來測試,如下圖,并且配置好路由,測試一下單元測試模塊是否安裝成功
6、在項目中運行下面的命令,啟動單元測試
npm run unit
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com