跳到主要內容

測試

我們的目標是保持 Electron 的高程式碼覆蓋率。我們要求所有 Pull Request 不僅要通過所有現有的測試,理想情況下還要新增測試來涵蓋已變更的程式碼和新的情境。確保我們盡可能捕捉到 Electron 的程式碼路徑和使用案例,以確保我們發布的應用程式錯誤更少。

此儲存庫附帶 JavaScript 和 C++ 的程式碼檢查規則,以及單元和整合測試。要了解更多關於 Electron 的編碼風格,請參閱編碼風格文件。

程式碼檢查

為了確保您的變更符合 Electron 編碼風格,請執行 npm run lint,這將根據您的變更觸及的程式碼區域,對您的變更執行各種程式碼檢查。

許多這些檢查都包含作為 precommit hooks,因此您的錯誤很可能會在提交時被捕獲。

單元測試

如果您未使用 build-tools,請確保您為 Electron 本地建置配置的名稱是 TestingReleaseDefault 之一,或者您已設定 process.env.ELECTRON_OUT_DIR。如果未設定這些,Electron 將無法執行一些預先測試步驟。

要執行所有單元測試,請執行 npm run test。單元測試是一個 Electron 應用程式(驚喜!),可以在 spec 資料夾中找到。請注意,它有自己的 package.json,因此其依賴項未在頂層 package.json 中定義。

要僅執行符合模式的特定測試,請執行 npm run test -- -g=PATTERN,將 PATTERN 替換為與您要執行的測試相符的 regex。例如:如果您只想執行 IPC 測試,您將執行 npm run test -- -g ipc

Node.js 煙霧測試

如果您所做的變更可能會影響 Node.js 嵌入到 Electron 的方式,我們有一個測試執行器,它使用 Electron 客製化的 Node.js 分支,執行 Node.js 的所有測試。

要執行所有 Node.js 測試

$ node script/node-spec-runner.js

要執行單個 Node.js 測試

$ node script/node-spec-runner.js parallel/test-crypto-keygen

其中傳遞給執行器的參數是 Node.js 原始碼樹中測試的路徑。

在 Windows 10 裝置上測試

執行單元測試的額外步驟:

  1. 必須安裝 Visual Studio 2019。

  2. Node headers 必須針對您的配置進行編譯。

    ninja -C out\Testing electron:node_headers
  3. electron.lib 必須複製為 node.lib。

    cd out\Testing
    mkdir gen\node_headers\Release
    copy electron.lib gen\node_headers\Release\node.lib

缺少字型

某些 Windows 10 裝置 未安裝 Meiryo 字型,這可能會導致字型回退測試失敗。要安裝 Meiryo

  1. 按下 Windows 鍵並搜尋管理選用功能
  2. 點擊新增功能
  3. 選擇日文補充字型並點擊安裝

像素測量

由於浮點精度錯誤,一些依賴精確像素測量的測試可能在 Hi-DPI 螢幕設定的裝置上無法正確運作。為了正確執行這些測試,請確保裝置設定為 100% 縮放。

要配置顯示縮放

  1. 按下 Windows 鍵並搜尋顯示設定
  2. 縮放與版面配置下,確保裝置設定為 100%。