測試JavaScript:Jest

2018-10-29 14:14 更新

Jest

此功能僅在Ultimate版本中受支持。

Jest是客戶端JavaScript應(yīng)用程序和React應(yīng)用程序的測試平臺。從Jest官方網(wǎng)站了解有關(guān)該平臺的更多信息 。

您可以在IntelliJ IDEA中使用Jest運行和調(diào)試測試。您可以在樹視圖中查看測試結(jié)果,并從那里輕松導航到測試源。測試狀態(tài)顯示在編輯器的測試旁邊,其中包含快速運行或調(diào)試的選項。

安裝Jest

  • 打開內(nèi)置的IntelliJ IDEA 終端(Alt+F12)并在命令提示符下輸入:npm install --save-dev jest。另請參閱Jest官方網(wǎng)站。

運行測試

使用IntelliJ IDEA,您可以直接從編輯器快速運行單個Jest測試,或創(chuàng)建運行/調(diào)試配置以執(zhí)行部分??或全部測試。

從編輯器運行單個測試

  • 單擊左側(cè)裝訂線中的 icons toolwindows toolWindowRun svg圖標操作重新運行,然后從彈出列表中選擇“運行<test_name> ”。因為在左側(cè)裝訂線中有測試狀態(tài)圖標 ws_icon_test_status.png,因此您還可以在編輯器中查看測試是否已通過或失敗。

創(chuàng)建Jest運行配置

  1. 在“項目”工具窗口中選擇一個測試文件,然后在上下文菜單中選擇“創(chuàng)建<文件名> ”。將打開“運行/調(diào)試配置:Jest”對話框。

  2. 指定要使用的Node.js解釋器。這可能是一個本地Node.js的解釋或適用于Linux的Windows子系統(tǒng)的Node.js。

  3. 指定jest, react-scripts,react-script-ts,react-super-scripts,或react-awesome-scripts包的位置,和應(yīng)用程序的工作目錄。

    默認情況下,工作目錄字段顯示項目根文件夾。要更改此預(yù)定義設(shè)置,請指定所需文件夾的路徑,或從列表中選擇以前使用的文件夾。

  4. (可選)指定要使用的jest.config文件:從下拉列表中選擇相關(guān)文件,或單擊 browseButton,然后在打開的對話框中選擇它,或者只在文本框中輸入路徑。如果該字段為空,IntelliJ IDEA將查找?guī)в衘est密鑰的package.json文件。在文件系統(tǒng)中從工作目錄向上執(zhí)行搜索。如果找不到合適的package.json文件,則動態(tài)生成Jest默認配置。

  5. (可選)配置在相關(guān)源文件中的更改時自動重新運行測試。為此,請在Jest選項字段中添加--watch標志。

通過運行配置運行測試

  1. 從主工具欄上的列表中選擇Jest運行/調(diào)試配置,然后單擊列表右側(cè)的 icons toolwindows toolWindowRun svg

  2. 測試服務(wù)器自動啟動,無需您執(zhí)行任何步驟。在“運行”工具窗口中查看和分析來自測試服務(wù)器的消息。

  3. 在 “運行” 工具窗口的“測試運行器”選項卡中監(jiān)視測試執(zhí)行。

重新運行失敗的測試

  • 在Test Runner選項卡中,單擊工具欄上的 重新運行測試失敗按鈕。IntelliJ IDEA將執(zhí)行上一個會話期間失敗的所有測試。

  • 要重新運行特定的失敗測試,??請在其上下文菜單中選擇“運行<測試名稱>”。

導航

使用IntelliJ IDEA,您可以在文件和相關(guān)的測試文件之間切換。還支持從“測試運行器”選項卡中的測試結(jié)果導航到測試。

在文件和相關(guān)測試文件之間切換

  • 在編輯器中打開文件,然后上下文菜單中選擇:Go To|測試,或Go To|測試主題,或者只需按Ctrl+Shift+T。

從測試結(jié)果切換到測試

  • 在Test Runner選項卡中選擇測試名稱,然后在上下文菜單中選擇Jump to Source。

    ws_test_jump_to_test 
    測試文件在編輯器中打開,光標位于測試定義中。

快照測試

IntelliJ IDEA與Jest的集成支持快照測試等強大功能。如果快照與呈現(xiàn)的應(yīng)用程序不匹配,則測試失敗。這表示代碼中的某些更改導致此不匹配或快照已過時且需要更新。您可以在IntelliJ IDEA內(nèi)置差異查看器中查看導致這種不匹配的原因。

更新失敗測試的快照

  • 使用“運行”工具窗口的“測試運行器”選項卡中的“單擊以更新快照”鏈接:

    ws_jest_update_snapshot.png

從測試文件導航到相關(guān)的快照文件

  • 單擊測試旁邊的左側(cè)裝訂線的 藝術(shù)品工作室圖標logcat工具欄快照

  • 將光標置于toMatchSnapshot(),按下Ctrl+Alt+Home,然后從列表中選擇所需的快照。

    噴氣機快照測試:從測試文件跳轉(zhuǎn)到相應(yīng)的快照

將實際輸出與預(yù)期快照進行比較

  • 使用“測試運行器”選項卡右側(cè)窗格中的“單擊以查看差異”鏈接。

    Jest快照:比較IntelliJ IDEA差異查看器中的預(yù)期快照和實際快照

調(diào)試測試

使用IntelliJ IDEA,您可以直接從編輯器快速開始調(diào)試單個Jest測試,或創(chuàng)建運行/調(diào)試配置來調(diào)試部分或全部測試。

從編輯器開始調(diào)試單個測試

  • 在左側(cè)裝訂線點擊 icons toolwindows toolWindowRun svg圖標操作重新運行,并從彈出的列表中選擇:調(diào)試<TEST_NAME>。

通過運行/調(diào)試配置啟動測試調(diào)試

  1. 如上所述,創(chuàng)建Jest運行/調(diào)試配置。

  2. 從主工具欄上的列表中選擇Jest運行/調(diào)試配置,然后單擊列表右側(cè)的 圖標動作startDebugger svg。

  3. 在打開的調(diào)試工具窗口中,像往常一樣繼續(xù):逐步完成測試,停止并恢復測試執(zhí)行,暫停時檢查測試等。

監(jiān)控代碼覆蓋率

使用IntelliJ IDEA,您還可以監(jiān)控Jest測試涵蓋的代碼量 。IntelliJ IDEA在專用工具窗口中顯示此統(tǒng)計信息,并在編輯器中直觀地標記有遮蓋和未遮蓋的線條。

運行覆蓋范圍的測試

  1. 如上所述,創(chuàng)建Jest運行/調(diào)試配置。

  2. 從主工具欄上的列表中選擇Jest運行/調(diào)試配置,然后單擊列表右側(cè)的 圖標一般runWithCoverage svg

  3. 或者,從編輯器快速運行特定套件或覆蓋測試:在左側(cè)裝訂線中單擊 icons toolwindows toolWindowRun svg圖標操作重新運行,從彈出列表中選擇“帶有Coverage的Run <test_name>”。

  4. 在Coverage工具窗口中監(jiān)視代碼覆蓋率。該報告顯示測試覆蓋了多少文件以及其中包含的行的百分比。從報告中,您可以跳轉(zhuǎn)到該文件并查看覆蓋的線條 - 標記為綠色 - 以及未覆蓋的線條 - 標記為紅色:

    ws_jest_coverage_report.png
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號