This is documentation for the next version of Grafana k6 documentation. For the latest stable release, go to the latest version.
toBeCloseTo()
The toBeCloseTo() method asserts that a number is close to another number within a specified precision. This is useful for comparing floating-point numbers where exact equality might fail due to precision issues.
Syntax
expect(actual).toBeCloseTo(expected);
expect(actual).toBeCloseTo(expected, precision);
expect(actual).not.toBeCloseTo(expected);
expect(actual).not.toBeCloseTo(expected, precision);Parameters
| Parameter | Type | Default | Description | 
|---|---|---|---|
| expected | number | The expected number | |
| precision | number | 2 | Number of decimal digits to check | 
Returns
| Type | Description | 
|---|---|
| void | No return value | 
Description
The toBeCloseTo() method checks if two numbers are approximately equal within a specified precision. It uses the formula Math.abs(actual - expected) < Math.pow(10, -precision) / 2 to determine if the numbers are close enough.
This is particularly useful when working with floating-point arithmetic where exact equality comparisons might fail due to precision limitations.
Usage
import { expect } from 'https://jslib.k6.io/k6-testing/0.5.0/index.js';
export default function () {
  // Floating-point arithmetic precision issues
  expect(0.1 + 0.2).toBeCloseTo(0.3);
  expect(0.1 + 0.2).toBeCloseTo(0.3, 2);
  // These would fail with toBe()
  // expect(0.1 + 0.2).toBe(0.3); // This fails!
  // More examples
  expect(1.005).toBeCloseTo(1, 0);
  expect(1.005).toBeCloseTo(1.01, 1);
  expect(1.005).not.toBeCloseTo(1.01, 2);
}





