Global

方法

afterAll(functionopt, timeoutopt)

describe中的所有測試都執行完畢後,立即執行部分共用清除作業。

注意事項:小心,清理作業是會共用的,因此很容易會意外導致不同的測試間發生狀態外洩,進而導致測試錯誤地通過或失敗。

參數
名稱 類型 屬性 預設值 說明
function implementationCallback <optional>

包含清除測試所需程式碼的函式。

timeout Int <optional>
jasmine.DEFAULT_TIMEOUT_INTERVAL

非同步 afterAll 的自訂逾時時間。

  • 2.1.0
請參閱

afterEach(functionopt, timeoutopt)

在呼叫它時所在的describe中的每個測試結束後,立即執行部分共用清除作業。

參數
名稱 類型 屬性 預設值 說明
function implementationCallback <optional>

包含清除測試所需程式碼的函式。

timeout Int <optional>
jasmine.DEFAULT_TIMEOUT_INTERVAL

非同步 afterEach 的自訂逾時時間。

  • 1.3.0
請參閱

beforeAll(functionopt, timeoutopt)

describe中的所有測試執行完畢前,立即執行部分共用設定作業。

注意事項:小心,設定作業是會共用的,因此很容易會意外導致不同的測試間發生狀態外洩,進而導致測試錯誤地通過或失敗。

參數
名稱 類型 屬性 預設值 說明
function implementationCallback <optional>

包含設定測試所需程式碼的函式。

timeout Int <optional>
jasmine.DEFAULT_TIMEOUT_INTERVAL

非同步 beforeAll 的自訂逾時時間。

  • 2.1.0
請參閱

beforeEach(functionopt, timeoutopt)

在呼叫它時所在的describe中的每個測試開始前,立即執行部分共用設定作業。

參數
名稱 類型 屬性 預設值 說明
function implementationCallback <optional>

包含設定測試所需程式碼的函式。

timeout Int <optional>
jasmine.DEFAULT_TIMEOUT_INTERVAL

非同步 beforeEach 的自訂逾時時間。

  • 1.3.0
請參閱

describe(description, specDefinitions)

建立一組測試(通常稱為套件)。

describe 可以在其他呼叫內巢狀呼叫,以樹狀結構撰寫您的套件。

參數
名稱 類型 說明
description String

群組的文字說明

specDefinitions function

Jasmine 會呼叫以定義內部套件和測試的函式

  • 1.3.0

expect(actual) → {matchers}

為測試建立一個預期。

參數
名稱 類型 說明
actual Object

要測試預期的實際計算值。

  • 1.3.0
傳回
類型
matchers

expectAsync(actual) → {async-matchers}

為測試案例建立非同步預期。請注意,非同步預期提供的比對器都會傳回承諾,這些承諾必須從測試案例傳回或使用 `await` 進行等待,Jasmine 才能將它們與正確的測試案例關聯起來。

參數
名稱 類型 說明
actual Object

要測試預期的實際計算值。

  • 3.3.0
傳回
類型
async-matchers
範例
await expectAsync(somePromise).toBeResolved();
return expectAsync(somePromise).toBeResolved();

fail(erroropt)

明確將測試案例標示為失敗。

參數
名稱 類型 屬性 說明
error 字串 | 錯誤 <optional>

失敗原因。

  • 2.1.0

fdescribe(描述, 測試案例定義)

焦點 describe

如果套件或測試案例已設定焦點,則只會執行已設定焦點的測試案例。

參數
名稱 類型 說明
description String

群組的文字說明

specDefinitions function

Jasmine 會呼叫以定義內部套件和測試的函式

  • 2.1.0
請參閱

fit(描述, 測試函式, 超時opt)

焦點 it

如果套件或測試案例已設定焦點,則只會執行已設定焦點的測試案例。

參數
名稱 類型 屬性 預設值 說明
description String

此測試案例正在檢查的文字說明。

testFunction implementationCallback

包含測試案例程式碼的函式。

timeout Int <optional>
jasmine.DEFAULT_TIMEOUT_INTERVAL

非同步測試案例的自訂逾時設定。

  • 2.1.0
請參閱

it(描述, 測試函式opt, 超時opt)

定義單一測試案例。測試案例應包含一個或多個 預期 來測試程式碼狀態。

所有預期都成功的測試案例為通過,而有任何預期失敗的測試案例將會失敗。it 這個名稱是測試目標的代名詞,並非任何項目的縮寫。它透過將函式名稱 it 和引數 描述 連接起來組成一個完整的句子,讓測試案例更容易閱讀。

參數
名稱 類型 屬性 預設值 說明
description String

此測試案例正在檢查的文字說明

testFunction implementationCallback <optional>

包含測試案例程式碼的函式。如果未提供,則測試案例將會「擱置中」。

timeout Int <optional>
jasmine.DEFAULT_TIMEOUT_INTERVAL

非同步測試案例的自訂逾時設定。

  • 1.3.0
請參閱

pending(訊息opt)

將測試案例標示為擱置中,會略過預期的結果。

參數
名稱 類型 屬性 說明
訊息 String <optional>

測試案例擱置中原因。

  • 2.0.0

setSpecProperty(金鑰, 值)

設定使用者定義的屬性,該屬性會提供給報告人員作為 SpecResult 的屬性欄位一部分。

參數
名稱 類型 說明
金鑰 String

屬性的名稱

*

屬性的值

  • 3.6.0

setSuiteProperty(金鑰, 值)

設定使用者定義的屬性,該屬性會提供給報告人員作為 SuiteResult 的屬性欄位一部分。

參數
名稱 類型 說明
金鑰 String

屬性的名稱

*

屬性的值

  • 3.6.0

spyOn(obj, 方法名稱) → {Spy}

在現有的物件上安裝 間諜

參數
名稱 類型 說明
obj Object

要安裝 間諜 的物件。

方法名稱 String

要使用 間諜 來取代的方法名稱。

  • 1.3.0
傳回
類型
Spy

spyOnAllFunctions(obj, 含非可列舉) → {物件}

在物件的所有可寫入和可組態屬性上安裝 間諜

參數
名稱 類型 說明
obj Object

要安裝 間諜 的物件

含非可列舉 布林值

是否要將 間諜 加入非可列舉屬性

  • 3.2.1
傳回

間諜 的物件

類型
Object

spyOnProperty(obj, 屬性名稱, 存取類型opt) → {Spy}

使用 Object.defineProperty 安裝在現有物件上的屬性的 間諜

參數
名稱 類型 屬性 預設值 說明
obj Object

要安裝 間諜 的物件

屬性名稱 String

要使用 間諜 來取代的屬性名稱。

存取類型 String <optional>
取得

間諜 的屬性的存取類型 (get|set)。

  • 2.6.0
傳回
類型
Spy

throwUnless(actual, actual) → {比對器}

針對規格新增一個預期結果,如果失敗則擲回錯誤。

這讓 Jasmine 比對器能夠用於像 testing-library 的 waitFor 這樣的工具中,此類工具預期比對器失敗情況會擲回例外,並且若例外被捕捉到,則不會觸發規格失敗情況。它也可以用於自訂比對器整合測試。

如果產生的預期結果失敗,則會擲回 ThrowUnlessFailure。失敗的預期結果不會導致規格失敗,除非例外透過呼叫堆疊或透過全域未處理例外/未處理承諾拒絕事件傳遞回 Jasmine。

參數
名稱 類型 說明
actual
actual Object

要測試預期的實際計算值。

  • 5.1.0
傳回
類型
matchers

throwUnlessAsync(actual, actual) → {比對器}

針對規格新增一個非同步預期結果,如果失敗則擲回錯誤。

這讓 Jasmine 比對器能夠用於像 testing-library 的 waitFor 這樣的工具中,此類工具預期比對器失敗情況會擲回例外,並且若例外被捕捉到,則不會觸發規格失敗情況。它也可以用於自訂比對器整合測試。

如果產生的預期結果失敗,則會擲回 ThrowUnlessFailure。失敗的預期結果不會導致規格失敗,除非例外透過呼叫堆疊或透過全域未處理例外/未處理承諾拒絕事件傳遞回 Jasmine。

參數
名稱 類型 說明
actual
actual Object

要測試預期的實際計算值。

  • 5.1.0
傳回
類型
matchers

xdescribe(描述, 規格定義)

一個暫時停用的 describe

位於 xdescribe 內的規格會標記為待定狀態,並且不會執行

參數
名稱 類型 說明
description String

群組的文字說明

specDefinitions function

Jasmine 會呼叫以定義內部套件和測試的函式

  • 1.3.0

xit(描述, 測試函式opt)

一個暫時停用的 it

規格將報告為 待定 狀態,並且不會執行。

參數
名稱 類型 屬性 說明
description String

此測試案例正在檢查的文字說明。

testFunction implementationCallback <optional>

包含測試程式碼的函式。不會執行。

  • 1.3.0

類型定義

DebugLogEntry

屬性
名稱 類型 說明
訊息 String

傳遞給 jasmine.debugLog 的訊息。

timestamp 數字

以毫秒為單位,從規格開始時間計算的進入時間

ExpectationResult

描述評估預期結果的情況

注意:預期結果的 expectedactual 屬性已棄用,並且可能會在未來的版本中移除。在許多 Jasmine 組態中,它們會透過 JSON 序列化和反序列化傳遞,這基本上會有損失。在這種情況下,預期的和實際的值可能是原物件的佔位符或近似值。

屬性
名稱 類型 說明
matcherName String

為此預期結果執行的比對器名稱。

訊息 String

預期結果的失敗訊息。

stack String

如有,失敗情況的堆疊追蹤。

passed 布林

預期結果是否通過或失敗。

expected Object

已棄用。如果預期結果失敗,則為預期值。

actual Object

已棄用。如果預期結果失敗,則產生什麼實際值。

globalErrorType 字串 | 未定義

在頂層組態中所報告錯誤的類型。有效值為未定義、"afterAll"、"load"、"lateExpectation" 和 "lateError"。

implementationCallback(doneopt)

傳遞給 Jasmine 基本介面部分的 callback。

預設情況下,Jasmine 假設此函式會同步地完成。如果您有需要非同步測試的程式碼,您可以宣告接收一個 done callback,傳回一個承諾,或是在環境中支援的情況下,使用 async 關鍵字。

參數
名稱 類型 屬性 說明
done function <optional>

用於向 Jasmine 指定此 callback 是非同步的,且 Jasmine 應該等到它被呼叫之後才繼續進行。

傳回

選用傳回一個承諾,取代使用 done 讓 Jasmine 等待完成。

JasmineDoneInfo

傳遞給 Reporter#jasmineDone 事件的資訊。

屬性
名稱 類型 說明
overallStatus OverallStatus

套件的整體結果:'已通過'、'已失敗' 或 '未完成'。

totalTime Int

執行套件所花的總時間(單位:毫秒)

incompleteReason String

套件未完成的原因(人可讀取的說明)。

incompleteCode String

套件未完成的原因(機器可讀取的說明):'已聚焦'、'未找到規格' 或未定義。

order 順序

有關套件執行順序(隨機或不隨機)的資訊。請注意,當 Jasmine 以平行模式執行時,此屬性不會存在。

numWorkers Int

平行工作執行序數量。請注意,此屬性僅在 Jasmine 以平行模式執行時會存在。

failedExpectations Array.<ExpectationResult>

在全域層級 afterAll 中失敗的預期清單。

deprecationWarnings Array.<ExpectationResult>

在全域層級發生的廢棄警告清單。

  • 2.4.0

JasmineStartedInfo

傳遞給 Reporter#jasmineStarted 事件的資訊。

屬性
名稱 類型 說明
totalSpecsDefined Int

此套件中定義的規格總數量。請注意,當 Jasmine 以平行模式執行時,此屬性不會存在。

order 順序

有關套件執行順序(隨機或不隨機)的資訊。請注意,當 Jasmine 以平行模式執行時,此屬性不會存在。

parallel 布林

Jasmine 是否以平行模式執行。

  • 2.0.0

SpecFilter(spec)

傳入一個規格並傳回 true(表示應執行)或 false(表示應略過)的函式。

參數
名稱 類型 說明
spec Spec

套用篩選器的規格。

傳回

布林值

SpecResult

屬性
名稱 類型 說明
id String

此規格的唯一識別碼。

description String

傳遞給建立此規格的 it 的說明。

fullName String

包含此規格的所有父項的完整說明。

parentSuiteId 字串 | null

包含此規格的套件 ID 或 null(如果這個規格不在任何 describe() 內)。

filename String

定義此規格的檔案名稱。

failedExpectations Array.<ExpectationResult>

執行此規格期間失敗的預期清單。

passedExpectations Array.<ExpectationResult>

執行此規格期間通過的預期清單。

deprecationWarnings Array.<ExpectationResult>

執行此規格期間發生的所有廢棄警告清單。

pendingReason String

如果規格為 pending,此項會是原因。

status String

當規格完成後,此字串會表示此規格的通過/失敗狀態。

duration 數字

規格執行所花的時間(單位:毫秒),包括所有 before/afterEach 在內。

properties Object

如果使用者有使用 Env#setSpecProperty 設定任何自訂屬性,這些就是該屬性的資訊。

debugLogs Array.<DebugLogEntry> | null

使用 jasmine.debugLog 在有問題的規格中記錄的訊息(如果有)。

  • 2.0.0

SuiteResult

屬性
名稱 類型 說明
id String

此套件的唯一識別碼。

description String

傳遞給建立此套件的 describe 的說明文字。

fullName String

包含此套件的所有父項的完整說明。

parentSuiteId 字串 | null

包含此套件的套件 ID 或 null(如果此套件不存在於其他 describe() 內)。

filename String

定義此套件的檔案名稱。

failedExpectations Array.<ExpectationResult>

afterAll 中未通過預期的清單。

deprecationWarnings Array.<ExpectationResult>

發生在此套件中的不建議訊息警告清單。

status String

套件執行完後,此字串表示此套件的通過/未通過狀態。

duration 數字

套件執行的時間(毫秒),包括所有 before/afterAll、before/afterEach 時間。

properties Object

使用者提供的屬性(如果有),已使用 Env#setSuiteProperty 設定。

  • 2.0.0