Webpack单元测试,e2e测试
生活随笔
收集整理的這篇文章主要介紹了
Webpack单元测试,e2e测试
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
此篇文章是續(xù) webpack多入口文件、熱更新等體驗,主要說明單元測試與e2e測試的基本配置以及相關(guān)應(yīng)用。
一、單元測試
實現(xiàn)單元測試框架的搭建、es6語法的應(yīng)用、以及測試覆蓋率的引入。
1. 需要安裝的項目:
- jasmine:單元測試庫
- karma:測試框架,配置選擇phantomjs瀏覽器
- karma-jasmine:操作jasmine的插件
- karma-webpack:webpack與karma的連接
- mock:用于數(shù)據(jù)模擬,用'npm install --save-dev mockjs'安裝
- karma-coverage:測試覆蓋率報表
- karma-spec-reporter:命令行輸出測試用戶的運行結(jié)果
- babel-plugin-istanbul: 測試覆蓋率顯示未通過webpack打包的源碼
?????? 由于babel-plugin-istanbul是bable的一個插件,所以需要修改.babelrc文件,代碼如下:
{"presets":["es2015","stage-2"],"plugins": ["istanbul"] //這句話是重點 }2. 配置參數(shù)及運行命令:
- 運行命令 .\node_modules\.bin\karma start .\test\karma.conf.js
karma命令為私有安裝,karma配置文件指定在test文件夾下。
- 配置文件如下:
- *.spec.js(測試代碼)如下:
src/ma:會向dom插件一個button標(biāo)簽
- mocks/demo.js的代碼:
mocks/demo:用mockjs模擬的一些數(shù)據(jù)
3. 運行結(jié)果
二、e2e(模擬用戶行為的測試)
1. 需要安裝的npm包
- selenium-server:webdriver測試服務(wù)器的nodejs搭建
- nightwatch:對selenium-server的包裝,簡化其配置
- chromedriver:selenium的chrome測試環(huán)境插件,如果是firefox、ie等都需要重新下測試環(huán)境插件。
2. 原理簡要說明
???? selenium-server由于瀏覽器同源策略(域名、協(xié)議、端口相同才是同源,如不明白可以baidu)的限制,selenimue就以代理的方式進行目標(biāo)站點的測試(也就是測試環(huán)境跑的瀏覽器連接是selenium-server產(chǎn)生的代理服務(wù)器),selenium-server代理服務(wù)器=selenium核心Js + 測試目標(biāo)站點(proxy)。
3. 相關(guān)代碼展示
- nightwatch配置參數(shù):
- selenium.server_path指向為selenium的jar包
- selenium.cli_args:配置運行時的必要參數(shù),webdriver.chrome.driver指定適合selenium的chrome安裝位置
- test.default.globals.devServerURL:需要測試的目標(biāo)站點,此站點必須處于活動狀態(tài)。
- 測試用例代碼:
nightwatch相關(guān)api可以參考此鏈接
- 運行e2e的命令 .\node_modules\.bin\nightwatch --config ".\test\e2e\runner.js" --env chrome
轉(zhuǎn)載于:https://www.cnblogs.com/cqhaibin/p/6581350.html
總結(jié)
以上是生活随笔為你收集整理的Webpack单元测试,e2e测试的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 视频监控线缆选型须知 转
- 下一篇: WebStorm For Mac下载及破