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()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。