首頁  >  文章  >  web前端  >  Angular中關於單元測驗的面試題,你能回答上來嗎?

Angular中關於單元測驗的面試題,你能回答上來嗎?

青灯夜游
青灯夜游轉載
2021-06-08 10:50:121874瀏覽

本篇文章為大家介紹一些Angular中關於單元測驗的面試題。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有幫助。

Angular中關於單元測驗的面試題,你能回答上來嗎?

Angular中的測試有哪些種,基於哪些測試框架

Angular的測試主要包括單元測試(Unit Test)和端對端測試( e2e)。

  • 單元測試(Unit Test):基於jasmine和Karma。 jasmine是一套通用的測試框架,除了Angular之外,也有廣泛引用;Karma是Angular專用的用於管理測試配置等的框架,讓測試程式碼方便的在指定瀏覽器執行;另外,根據喜好,也可以選擇Mocha 和Chai。
  • 端對端測試(e2e):基於protractor。 protractor是Angular專用的e2e框架。 【相關教學推薦:《angular教學》】

#什麼是Karma?在Angular中有什麼作用?

Karma是用來在瀏覽器環境中針對測試程式碼執行原始程式碼的工具。它支援在為其配置的每個瀏覽器中執行測試。同時將結果顯示在命令列和瀏覽器上,或輸入標準格式的報表,供開發人員檢查哪些測試通過或失敗。 Karma也會監視文件,只要文件發生更改,就可以觸發測試重新執行。同時Karma還可以統計程式碼覆蓋率(Code Coverage)。
在Angular專案的根目錄下,我們具有用於配置Karma的檔案karma.conf。

什麼是Jasmine?在Angular中有什麼用?

Jasmine是一個javascript測試框架,支援稱為行為驅動開發或簡稱BDD的軟體開發實務。這是測試驅動開發(TDD)的特殊風格。

Jasmine和BDD通常嘗試以一種人類可讀的格式描述測試,以便非技術人員可以理解所測試的內容。

什麼是protractor?

protractor是Angular的端對端測試框架。它在真實的瀏覽器中運行測試,並像真實的人一樣與之互動。與單元測試不同,在單元測試中,我們測試各個功能,而在這裡,我們測試整個邏輯。 protractor能夠填寫表格,點擊按鈕,並確認預期的資料和樣式顯示在HTML文件中。

就像Karma一樣,Protractor在Angular專案的根目錄protractor.conf中擁有自己的設定檔。

單元測試 Unit Test

什麼是Angular中的單元測試?

單元測試用於測試隔離中的單一功能,單一元件,特點是隔離和之星快。在此單元測試中,我們不能說應用程式中的一切都很好,而是僅針對單一單元或功能,即可確保正常運作。

Angular UT的最佳實踐

  • #在beforeEach() 中初始化使用到的上下文;
  • # describe(),it() 的描述要清晰。方便閱讀,方便測試失敗時快速定位;
  • 使用after() ,afterEach()重置測試改變的全局狀態;
  • 每1個具體測試用例,不要過於復雜,盡量保證在15行程式碼以內

什麼是TestBed,有什麼作用

TestBed 就是Angular測試工具集(@angular/ core/testing)提供的用於建立一個@NgModule 測試環境模組。可以

  • TestBed.configureTestingModule,準備測試環境

  • 利用TestBed.createComponent 建立一個用於測試目標元件的測試元件

測試Service時,有其他依​​賴如何處理?

使用TestBed建立用例是,將依賴項加到providers中

TestBed.configureTestingModule({
  providers: [YourDependencyService]
});

端對端測試(e2e)

#基於Protractor,測試成本比較高,一般能覆蓋陽光測試用例(sunny case)即可。

更多程式相關知識,請造訪:程式設計入門! !

以上是Angular中關於單元測驗的面試題,你能回答上來嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除