国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專(zhuān)題視頻專(zhuān)題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專(zhuān)題1關(guān)鍵字專(zhuān)題50關(guān)鍵字專(zhuān)題500關(guān)鍵字專(zhuān)題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專(zhuān)題關(guān)鍵字專(zhuān)題tag2tag3文章專(zhuān)題文章專(zhuān)題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專(zhuān)題3
問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

使用Angular CLI進(jìn)行單元測(cè)試和E2E測(cè)試的方法

來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:17:26
文檔

使用Angular CLI進(jìn)行單元測(cè)試和E2E測(cè)試的方法

使用Angular CLI進(jìn)行單元測(cè)試和E2E測(cè)試的方法:第一篇文章是: 使用angular cli生成angular5項(xiàng)目 ://www.gxlcms.com/article/136621.htm 第二篇文章是: 使用angular cli從藍(lán)本生成代碼 ://www.gxlcms.com/article/137031.htm 第三篇文章是: 使用Angular CLI生成路
推薦度:
導(dǎo)讀使用Angular CLI進(jìn)行單元測(cè)試和E2E測(cè)試的方法:第一篇文章是: 使用angular cli生成angular5項(xiàng)目 ://www.gxlcms.com/article/136621.htm 第二篇文章是: 使用angular cli從藍(lán)本生成代碼 ://www.gxlcms.com/article/137031.htm 第三篇文章是: 使用Angular CLI生成路

第一篇文章是: "使用angular cli生成angular5項(xiàng)目" ://www.gxlcms.com/article/136621.htm

第二篇文章是: "使用angular cli從藍(lán)本生成代碼" ://www.gxlcms.com/article/137031.htm

第三篇文章是: "使用Angular CLI生成路由" ://www.gxlcms.com/article/137033.htm

第四篇文章時(shí): “使用Angular CLI進(jìn)行Build (構(gòu)建) 和 Serve”://www.gxlcms.com/article/137034.htm

本文是該系列的最后一篇文章.

單元測(cè)試.

angular cli使用karma進(jìn)行單元測(cè)試.

首先執(zhí)行ng test --help或者ng test -h查看幫助.

執(zhí)行測(cè)試的話(huà)就執(zhí)行ng test即可, 它會(huì)執(zhí)行項(xiàng)目里所有的.spec.ts文件.

而且它還會(huì)檢測(cè)文件的變化, 如果文件有變化, 那么它會(huì)重新執(zhí)行測(cè)試.

它應(yīng)該在單獨(dú)的終端進(jìn)程中執(zhí)行.

首先創(chuàng)建一個(gè)angular項(xiàng)目, 帶路由的:

ng new sales --routing

創(chuàng)建好項(xiàng)目后, 直接執(zhí)行命令測(cè)試:

ng test

然后會(huì)彈出一個(gè)頁(yè)面, 就是測(cè)試的結(jié)果數(shù)據(jù).

下面我再添加幾個(gè)components 和 一個(gè) admin module:

ng g c person
ng g c order
ng g m admin --routing
ng g c admin/user
ng g c admin/email

然后配置一下路由, 最重要得到這個(gè)效果:

這時(shí)我重新執(zhí)行一下ng test:

盡管程序運(yùn)行沒(méi)有問(wèn)題, 但是測(cè)試還是出現(xiàn)了問(wèn)題: router-outlet is not an angular component.

可以看一下spec list:

這時(shí)因?yàn)檫\(yùn)行測(cè)試的時(shí)候, admin模塊是獨(dú)立運(yùn)行的, 所以該模塊并沒(méi)有引用Router模塊, 所以無(wú)法識(shí)別router-outlet.

那么如何解決這個(gè)問(wèn)題?

打開(kāi)admin.component.spec.ts:

把這句話(huà)填上, 然后就沒(méi)有錯(cuò)誤了:

NO_ERRORS_SCHEMA告訴angular忽略那些不識(shí)別的元素或者元素屬性.

  1. --code-coverage -cc 代碼覆蓋率報(bào)告, 默認(rèn)這個(gè)是不開(kāi)啟的, 因?yàn)樯蓤?bào)告的速度還是比較慢的.
  2. --colors 輸出結(jié)果使用各種顏色 默認(rèn)開(kāi)啟
  3. --single-run -sr 執(zhí)行測(cè)試, 但是不檢測(cè)文件變化 默認(rèn)不開(kāi)啟
  4. --progress 把測(cè)試的過(guò)程輸出到控制臺(tái) 默認(rèn)開(kāi)啟
  5. --sourcemaps -sm 生成sourcemaps 默認(rèn)開(kāi)啟
  6. --watch -w 運(yùn)行測(cè)試一次, 并且檢測(cè)變化 默認(rèn)開(kāi)啟 

ng test 就是運(yùn)行測(cè)試, 并且如果文件有變化, 就會(huì)重新運(yùn)行測(cè)試.

使用ng test -sr或者ng test -w false 執(zhí)行單次測(cè)試

測(cè)試代碼覆蓋率:

ng test --cc 的報(bào)告默認(rèn)是生成在/coverage文件夾下, 但是可以通過(guò)修改.angular-cli.json里面的屬性進(jìn)行修改.

下面生成代碼覆蓋率報(bào)告:

ng test -sr -cc

通常是配合-sr參數(shù)使用的(運(yùn)行一次測(cè)試).

然后會(huì)在項(xiàng)目的coverage文件夾里生成一些文件:

直接打開(kāi)index.html:

可以看到都是100%, 這是因?yàn)槲覜](méi)有寫(xiě)任何代碼.

然后我在user component里面添加一些代碼:

再運(yùn)行一次 ng test --sr -cc:

可以看到這部分代碼并沒(méi)有覆蓋到.

如果我把代碼里到 canGetUsers改為true:

再次執(zhí)行ng test --sr -cc

可以看到這次代碼覆蓋率變化了:

只有catch部分沒(méi)有覆蓋到.

我認(rèn)為代碼覆蓋率這個(gè)內(nèi)置功能是非常好的.

Debug單元測(cè)試.

首先執(zhí)行ng test:

然后點(diǎn)擊debug, 并打開(kāi)開(kāi)發(fā)者工具:

然后按cmd+p:

找到需要調(diào)試的文件:

設(shè)置斷點(diǎn):

然后在spec里面也設(shè)置一個(gè)斷點(diǎn):

最后點(diǎn)擊瀏覽器的刷新按鈕即可:

E2E測(cè)試的參數(shù).

實(shí)際上angular cli是配合著protractor來(lái)進(jìn)行這個(gè)測(cè)試的.

它的命令是 ng e2e.

常用的參數(shù)有:

  1. --config -c 指定配置文件 默認(rèn)是 protractor.conf.js
  2. --element-explorer -ee 打開(kāi)protractor的元素瀏覽器
  3. --serve -s 在隨機(jī)的端口編譯和serve 默認(rèn)true
  4. --specs -sp 默認(rèn)是執(zhí)行所有的spec文件, 如果想執(zhí)行某個(gè)spec就使用這個(gè)參數(shù), 默認(rèn)是all
  5. --webdriver-update -wu 嘗試更新webdriver 默認(rèn)true

通常執(zhí)行下面機(jī)組命令參數(shù)組合即可:

ng e2e
ng e2e -ee

Debug E2E測(cè)試.

看一下項(xiàng)目:

配置文件protractor.conf.js已經(jīng)配置好.

而測(cè)試文件是在e2e目錄下.

看一下spec和po文件:

再看一下app.component.html里面的值:

應(yīng)該是沒(méi)問(wèn)題的.

所以執(zhí)行ng e2e:

測(cè)試通過(guò), 但是瀏覽器閃了一下就關(guān)閉了.

如果我想debug e2e, 那么執(zhí)行這個(gè)命令:

ng e2e -ee

由于我使用的是mac, 當(dāng)前這個(gè)命令在mac上貌似確實(shí)有一個(gè)bug:

如果可以正常運(yùn)行這個(gè)命令的話(huà), 終端窗口會(huì)出現(xiàn)“Debugger listening on xxx: ”字樣, 然后就可以在下面輸入變量或者表達(dá)式來(lái)查看它們的值從而進(jìn)行調(diào)試了.

如果想退出調(diào)試, 那就按Ctrl+c或者輸入.exit即可.

由于angular cli 更新比較快, 所以查看最新的功能最好還是看官方文檔:https://github.com/angular/angular-cli/wiki

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

使用Angular CLI進(jìn)行單元測(cè)試和E2E測(cè)試的方法

使用Angular CLI進(jìn)行單元測(cè)試和E2E測(cè)試的方法:第一篇文章是: 使用angular cli生成angular5項(xiàng)目 ://www.gxlcms.com/article/136621.htm 第二篇文章是: 使用angular cli從藍(lán)本生成代碼 ://www.gxlcms.com/article/137031.htm 第三篇文章是: 使用Angular CLI生成路
推薦度:
  • 熱門(mén)焦點(diǎn)

最新推薦

猜你喜歡

熱門(mén)推薦

專(zhuān)題
Top
主站蜘蛛池模板: 日韩电影中文字幕在线网站 | 欧美日韩亚洲无线码在线观看 | 夜夜操夜夜骑 | 日韩综合网 | 日韩午夜视频在线观看 | 久久er99| 国产99精品 | 午夜免费福利视频 | 日韩成人国产精品视频 | 久久久精| 国产成人精品一区二区免费视频 | 国产欧美久久一区二区 | 久久精品国产欧美成人 | 国产成人无精品久久久久国语 | 美女视频黄a视频全免费网站一区 | 欧美精品日韩一区二区三区 | 国产91一区二这在线播放 | 日韩在线1| 久久亚洲精品中文字幕60分钟 | 免费一看一级毛片全播放 | 国内精品视频一区二区三区 | 国产欧美一区二区三区视频 | 香蕉成人啪国产精品视频综合网 | 久久国产一级毛片一区二区 | 亚洲欧美成人综合久久久 | 亚洲伊人久久综合一区二区 | 国产高清特黄无遮挡大片 | 国产精品久久久久久久久久久久 | 亚洲毛片免费看 | 快播电影网日韩新片 | 国产欧美日韩综合二区三区 | 一区二区三区精品牛牛 | 国产精品亚洲四区在线观看 | 精品91精品91精品国产片 | 91午夜精品亚洲一区二区三区 | 成人特黄午夜性a一级毛片 成人国产一区二区三区精品 | 成人亚洲欧美日韩在线 | 国产欧美日韩在线播放 | 国产综合成人久久大片91 | 精品91精品91精品国产片 | 国产成人精品日本亚洲语音2 |