在沒有全域函數的情形下,使用 Jasmine

一般來說,Jasmine 會產生全域變數,例如 describeitexpect,您可以用這些變數來撰寫規格。如果您透過 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();

然後,像往常一樣 撰寫您的規格