Menu
Open source

check( val, sets, [tags] )

The check function is a drop-in replacement for the built-in check, with added support for async values. Any Promises will be awaited, and the result is reported once the operation has been completed.

ParameterTypeDescription
valanyValue to test.
setsRecord<string, any>Tests (checks) to run on the value. Functions will be called. Promises will be awaited.
tags (optional)Record<string, string>Extra tags to attach to metrics emitted.

Returns

TypeDescription
Promisebooleantrue if all checks have succeeded, false otherwise. If any of the checked values was a Promise, the result is wrapped in a Promise.

Examples

Using check() with async values.

JavaScript
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://httpbin.test.k6.io');

  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');
  }
}

For general usage of checks, refer to check(val, set, [tags]).