check( val, sets, [tags] )
check
函数是内置 check 函数的直接替代品,增加了对异步值的支持。任何 Promise
都将被等待,并在操作完成后报告结果。
参数 | 类型 | 描述 |
---|---|---|
val | any | 要测试的值。 |
sets | Record<string, any> | 对值运行的测试(检查)。函数将被调用。Promise 将被等待。 |
tags (可选) | Record<string, string> | 附加到发出的指标的额外标签。 |
返回值
类型 | 描述 | |
---|---|---|
Promise | boolean | 如果所有检查都成功则为 true ,否则为 false 。如果任何被检查的值是 Promise ,则结果将被包装在 Promise 中。 |
示例
使用 check()
处理异步值。
import http from 'k6/http';
import { fail } from 'k6';
import { check } from 'https://jslib.k6.io/k6-utils/1.5.0/index.js';
function waitFor(delay) {
return new Promise((resolve) => {
setTimeout(() => {
resolve(true);
}, delay);
});
}
export default async function () {
const res = http.get('https://quickpizza.grafana.com/');
const success = await check(res, {
'passing promise as a value': waitFor(1000),
'async function': async (res) => {
await waitFor(500);
return res.status === 200;
},
});
if (!success) {
fail('check did not succeed');
}
}
有关检查的通用用法,请参阅 check(val, set, [tags])。