測試
我們的目標是保持 Electron 的高程式碼覆蓋率。我們要求所有 Pull Request 不僅要通過所有現有的測試,理想情況下還要新增測試來涵蓋已變更的程式碼和新的情境。確保我們盡可能捕捉到 Electron 的程式碼路徑和使用案例,以確保我們發布的應用程式錯誤更少。
此儲存庫附帶 JavaScript 和 C++ 的程式碼檢查規則,以及單元和整合測試。要了解更多關於 Electron 的編碼風格,請參閱編碼風格文件。
程式碼檢查
為了確保您的變更符合 Electron 編碼風格,請執行 npm run lint
,這將根據您的變更觸及的程式碼區域,對您的變更執行各種程式碼檢查。
許多這些檢查都包含作為 precommit hooks,因此您的錯誤很可能會在提交時被捕獲。
單元測試
如果您未使用 build-tools,請確保您為 Electron 本地建置配置的名稱是 Testing
、Release
、Default
之一,或者您已設定 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 裝置上測試
執行單元測試的額外步驟:
-
必須安裝 Visual Studio 2019。
-
Node headers 必須針對您的配置進行編譯。
ninja -C out\Testing electron:node_headers
-
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
- 按下 Windows 鍵並搜尋管理選用功能。
- 點擊新增功能。
- 選擇日文補充字型並點擊安裝。
像素測量
由於浮點精度錯誤,一些依賴精確像素測量的測試可能在 Hi-DPI 螢幕設定的裝置上無法正確運作。為了正確執行這些測試,請確保裝置設定為 100% 縮放。
要配置顯示縮放
- 按下 Windows 鍵並搜尋顯示設定。
- 在縮放與版面配置下,確保裝置設定為 100%。