方法
afterAll(functionopt, timeoutopt)
在describe
中的所有測試都執行完畢後,立即執行部分共用清除作業。
注意事項:小心,清理作業是會共用的,因此很容易會意外導致不同的測試間發生狀態外洩,進而導致測試錯誤地通過或失敗。
參數
名稱 | 類型 | 屬性 | 預設值 | 說明 |
---|---|---|---|---|
function |
implementationCallback | <optional> |
包含清除測試所需程式碼的函式。 |
|
timeout |
Int | <optional> |
jasmine.DEFAULT_TIMEOUT_INTERVAL
|
非同步 |
- 自
- 2.1.0
- 請參閱
afterEach(functionopt, timeoutopt)
在呼叫它時所在的describe
中的每個測試結束後,立即執行部分共用清除作業。
參數
名稱 | 類型 | 屬性 | 預設值 | 說明 |
---|---|---|---|---|
function |
implementationCallback | <optional> |
包含清除測試所需程式碼的函式。 |
|
timeout |
Int | <optional> |
jasmine.DEFAULT_TIMEOUT_INTERVAL
|
非同步 |
- 自
- 1.3.0
- 請參閱
beforeAll(functionopt, timeoutopt)
在describe
中的所有測試執行完畢前,立即執行部分共用設定作業。
注意事項:小心,設定作業是會共用的,因此很容易會意外導致不同的測試間發生狀態外洩,進而導致測試錯誤地通過或失敗。
參數
名稱 | 類型 | 屬性 | 預設值 | 說明 |
---|---|---|---|---|
function |
implementationCallback | <optional> |
包含設定測試所需程式碼的函式。 |
|
timeout |
Int | <optional> |
jasmine.DEFAULT_TIMEOUT_INTERVAL
|
非同步 |
- 自
- 2.1.0
- 請參閱
beforeEach(functionopt, timeoutopt)
在呼叫它時所在的describe
中的每個測試開始前,立即執行部分共用設定作業。
參數
名稱 | 類型 | 屬性 | 預設值 | 說明 |
---|---|---|---|---|
function |
implementationCallback | <optional> |
包含設定測試所需程式碼的函式。 |
|
timeout |
Int | <optional> |
jasmine.DEFAULT_TIMEOUT_INTERVAL
|
非同步 |
- 自
- 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
傳回
範例
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> |
取得 | 要 |
- 自
- 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 | 傳遞給 |
timestamp |
數字 | 以毫秒為單位,從規格開始時間計算的進入時間 |
ExpectationResult
描述評估預期結果的情況
注意:預期結果的 expected
與 actual
屬性已棄用,並且可能會在未來的版本中移除。在許多 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> | 在全域層級 |
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 | 傳遞給建立此規格的 |
fullName |
String | 包含此規格的所有父項的完整說明。 |
parentSuiteId |
字串 | null | 包含此規格的套件 ID 或 null(如果這個規格不在任何 describe() 內)。 |
filename |
String | 定義此規格的檔案名稱。 |
failedExpectations |
Array.<ExpectationResult> | 執行此規格期間失敗的預期清單。 |
passedExpectations |
Array.<ExpectationResult> | 執行此規格期間通過的預期清單。 |
deprecationWarnings |
Array.<ExpectationResult> | 執行此規格期間發生的所有廢棄警告清單。 |
pendingReason |
String | 如果規格為 |
status |
String | 當規格完成後,此字串會表示此規格的通過/失敗狀態。 |
duration |
數字 | 規格執行所花的時間(單位:毫秒),包括所有 before/afterEach 在內。 |
properties |
Object | 如果使用者有使用 |
debugLogs |
Array.<DebugLogEntry> | null | 使用 |
- 自
- 2.0.0
SuiteResult
屬性
名稱 | 類型 | 說明 |
---|---|---|
id |
String | 此套件的唯一識別碼。 |
description |
String | 傳遞給建立此套件的 |
fullName |
String | 包含此套件的所有父項的完整說明。 |
parentSuiteId |
字串 | null | 包含此套件的套件 ID 或 null(如果此套件不存在於其他 describe() 內)。 |
filename |
String | 定義此套件的檔案名稱。 |
failedExpectations |
Array.<ExpectationResult> |
|
deprecationWarnings |
Array.<ExpectationResult> | 發生在此套件中的不建議訊息警告清單。 |
status |
String | 套件執行完後,此字串表示此套件的通過/未通過狀態。 |
duration |
數字 | 套件執行的時間(毫秒),包括所有 before/afterAll、before/afterEach 時間。 |
properties |
Object | 使用者提供的屬性(如果有),已使用 |
- 自
- 2.0.0