---
title: "toHaveProperty() | Grafana k6 documentation"
description: "Asserts that an object has a specific property, optionally with a specific value"
---

# 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 ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy

```javascript
expect(actual).toHaveProperty(keyPath);
expect(actual).toHaveProperty(keyPath, value);
expect(actual).not.toHaveProperty(keyPath);
expect(actual).not.toHaveProperty(keyPath, value);
```

## Parameters

Expand table

| Parameter | Type            | Description                              |
|-----------|-----------------|------------------------------------------|
| keyPath   | string \| Array | The property path to check               |
| value     | any             | Optional expected value for the property |

## Returns

Expand table

| Type | Description     |
|------|-----------------|
| void | No 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 ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy

```javascript
import { expect } from 'https://jslib.k6.io/k6-testing/0.6.1/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');
}
```
