在沒有全域函數的情形下,使用 Jasmine
一般來說,Jasmine 會產生全域變數,例如 describe
、it
和 expect
,您可以用這些變數來撰寫規格。如果您透過 Node.js 執行 Jasmine 4.0 或更新版本,您也有選項匯入 Jasmine 介面,而不讓 Jasmine 建立全域變數。
在使用 jasmine
NPM 套件時,進行初始化
將 {globals: false}
傳遞給 Jasmine 建構函式
const Jasmine = require('jasmine');
const runner = new Jasmine({globals: false});
或是在並行執行時
const ParallelRunner = require('jasmine/parallel');
const runner = new ParallelRunner({
numWorkers: 3,
globals: false
});
在直接使用 jasmine-core
時,進行初始化
初始化 jasmine-core 方式為呼叫 noGlobals
,而不是 boot
const jasmine = require('jasmine-core').noGlobals().jasmine;
撰寫規格和輔助檔案
在您的每個規格和輔助檔案中,使用 jasmine-core 模組的 noGlobals 函式,取得那些一般提供為 全域變數 的項目
const {describe, beforeEach, it, expect, jasmine} = require('jasmine-core').noGlobals();
然後,像往常一樣 撰寫您的規格。