Menu

This is documentation for the next version of Grafana k6 documentation. For the latest stable release, go to the latest version.

Open source

toHaveProperty()

The toHaveProperty() method asserts that an object has a specific property, optionally with a specific value. It supports both simple property names and nested property paths.

Syntax

JavaScript
expect(actual).toHaveProperty(keyPath);
expect(actual).toHaveProperty(keyPath, value);
expect(actual).not.toHaveProperty(keyPath);
expect(actual).not.toHaveProperty(keyPath, value);

Parameters

ParameterTypeDescription
keyPathstring | ArrayThe property path to check
valueanyOptional expected value for the property

Returns

TypeDescription
voidNo return value

Description

The toHaveProperty() method checks if an object has a specific property. The property path can be:

  • A simple property name (e.g., 'name')
  • A nested property path using dot notation (e.g., 'user.address.city')
  • An array of property keys (e.g., ['user', 'address', 'city'])

If a value is provided, it also checks that the property has that exact value.

Usage

JavaScript
import { expect } from 'https://jslib.k6.io/k6-testing/0.5.0/index.js';

export default function () {
  const user = {
    id: 123,
    name: 'John Doe',
    email: 'john@example.com',
    active: true,
  };

  // Check property existence
  expect(user).toHaveProperty('id');
  expect(user).toHaveProperty('name');
  expect(user).toHaveProperty('email');
  expect(user).toHaveProperty('active');

  // Check missing property
  expect(user).not.toHaveProperty('phone');
  expect(user).not.toHaveProperty('address');
}