QUnit.on()
添加的版本:2.2.0
說明
QUnit.on( eventName, callback )
注冊回調以在發出指定事件時觸發。
此 API 實現了 js-reporters CRI standard ,並且是供持續集成插件和其他報告軟件使用的主要接口。
類型 | 參數 | 說明 |
---|---|---|
string |
eventName |
事件的名稱。 |
Function |
callback |
一個回調函數。 |
runStart
事件
runStart
事件指示測試運行的開始。它隻發出一次,並且在任何其他事件之前發出。
Object |
testCounts |
匯總有關測試的計數。 |
number |
testCounts.total |
注冊測試的總數。 |
QUnit.on('runStart', runStart => {
console.log(`Test plan: ${runStart.testCounts.total}`);
});
suiteStart
事件
suiteStart
事件表示模塊的開始。最終會出現相應的suiteEnd
事件。
string |
name |
模塊的名稱。 |
Array<string> |
fullName |
一個或多個字符串的列表,包含(按順序)任何祖先模塊的名稱和當前模塊的名稱。 |
QUnit.on('suiteStart', suiteStart => {
console.log('suiteStart', suiteStart);
// name: 'my module'
// fullName: ['grandparent', 'parent', 'my module']
});
suiteEnd
事件
suiteEnd
事件指示模塊的結束。它在其相應的 suiteStart
事件之後發出。
string |
name |
模塊的名稱。 |
Array<string> |
fullName |
一個或多個字符串的列表,包含(按順序)任何祖先模塊的名稱和當前模塊的名稱。 |
string |
status |
此模塊中測試的匯總結果,其中之一:failed :至少一項測試失敗;passed :沒有失敗的測試,這意味著隻有通過、跳過或待辦狀態的測試。 |
number |
runtime |
模塊的持續時間(以毫秒為單位)。 |
QUnit.on('suiteEnd', suiteEnd => {
console.log(suiteEnd);
// …
});
testStart
事件
testStart
事件表示測試的開始。最終會出現相應的testEnd
事件。
string |
name |
測試名稱。 |
string|null |
moduleName |
測試所屬的模塊,或 null 用於全局測試。 |
Array<string> |
fullName |
列出(按順序)任何祖先模塊的名稱和測試本身的名稱。 |
QUnit.on('testStart', testStart => {
console.log(testStart);
// name: 'my test'
// moduleName: 'my module'
// fullName: ['parent', 'my module', 'my test']
// name: 'global test'
// moduleName: null
// fullName: ['global test']
});
testEnd
事件
testEnd
事件表示測試結束。它在其相應的 testStart
事件之後發出。
testEnd 對象的屬性:
string |
name |
測試名稱。 |
string|null |
moduleName |
測試所屬的模塊,或 null 用於全局測試。 |
Array<string> |
fullName |
列出(按順序)任何祖先模塊的名稱和測試本身的名稱。 |
string |
status |
測試結果,其中之一:passed :所有斷言通過或未找到斷言;failed : 至少一個斷言失敗或者它是一個QUnit.test.todo()不再有任何失敗的斷言;skipped :故意不運行測試;或者todo :測試是“todo”並且仍然有一個失敗的斷言。 |
number |
runtime |
測試的持續時間(以毫秒為單位)。 |
Array<FailedAssertion> |
errors |
對於有狀態的測試failed 或者todo ,將至少有一個失敗的斷言。但是,如果狀態為failed 由於 “todo” 測試沒有失敗的斷言。請注意,所有陰性測試結果都以這種方式傳達其詳細信息。例如,超時、未捕獲的錯誤和全局汙染還合成一個失敗的斷言。 |
FailedAssertion 對象的屬性:
boolean |
passed |
失敗的斷言為 False。 |
string|undefined |
message |
斷言檢查內容的說明。 |
any |
actual |
傳遞給斷言的實際值。 |
any |
expected |
傳遞給斷言的期望值。 |
string|undefined |
stack |
堆棧跟蹤,如果結果來自舊的 Web 瀏覽器,則可能未定義。 |
QUnit.on('testEnd', testEnd => {
if (testEnd.status === 'failed') {
console.error('Failed! ' + testEnd.fullName.join(' > '));
testEnd.errors.forEach(assertion => {
console.error(assertion);
// message: speedometer
// actual: 75
// expected: 88
// stack: at dmc.test.js:12
});
}
});
runEnd
事件
runEnd
事件指示測試運行的結束。它隻發出一次。
string |
status |
所有測試的匯總結果,其中之一:failed :至少一項測試失敗或發生全局錯誤;passed :沒有失敗的測試,這意味著隻有通過、跳過或待辦狀態的測試。如果QUnit.config.failOnZeroTests 被禁用,那麽如果沒有測試,運行也可能通過。 |
Object |
testCounts |
關於測試的匯總計數: |
number |
testCounts.passed |
通過的測試數。 |
number |
testCounts.failed |
失敗的測試數。 |
number |
testCounts.skipped |
跳過的測試數。 |
number |
testCounts.todo |
待辦事項測試的數量。 |
number |
testCounts.total |
測試的總數,等於上述屬性的總和。 |
number |
runtime |
運行的總持續時間(以毫秒為單位)。 |
QUnit.on('runEnd', runEnd => {
console.log(`Passed: ${runEnd.passed}`);
console.log(`Failed: ${runEnd.failed}`);
console.log(`Skipped: ${runEnd.skipped}`);
console.log(`Todo: ${runEnd.todo}`);
console.log(`Total: ${runEnd.total}`);
});
相關用法
- JavaScript QUnit.onUncaughtException()用法及代碼示例
- JavaScript QUnit.test.each()用法及代碼示例
- JavaScript QUnit.test.only()用法及代碼示例
- JavaScript QUnit.config.filter用法及代碼示例
- JavaScript QUnit.config.current用法及代碼示例
- JavaScript QUnit.begin()用法及代碼示例
- JavaScript QUnit.moduleStart()用法及代碼示例
- JavaScript QUnit.testStart()用法及代碼示例
- JavaScript QUnit.test()用法及代碼示例
- JavaScript QUnit.done()用法及代碼示例
- JavaScript QUnit.test.todo()用法及代碼示例
- JavaScript QUnit.stack()用法及代碼示例
- JavaScript QUnit.dump.parse()用法及代碼示例
- JavaScript QUnit.moduleDone()用法及代碼示例
- JavaScript QUnit.hooks用法及代碼示例
- JavaScript QUnit.config.autostart用法及代碼示例
- JavaScript QUnit.extend()用法及代碼示例
- JavaScript QUnit.start()用法及代碼示例
- JavaScript QUnit.log()用法及代碼示例
- JavaScript QUnit.config.urlConfig用法及代碼示例
- JavaScript QUnit.module()用法及代碼示例
- JavaScript QUnit.test.skip()用法及代碼示例
- JavaScript QUnit.testDone()用法及代碼示例
- JavaScript esri/layers/OpenStreetMapLayer.minScale用法及代碼示例
- JavaScript esri/layers/KMLLayer.maxScale用法及代碼示例
注:本文由純淨天空篩選整理自qunitjs.com大神的英文原創作品 QUnit.on()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。