---
title: "@std/expect"
description: "Jest compatible `expect` assertion functions"
jsr: jsr:@std/expect
pkg: expect
version: 1.0.18
generated: true
stability: stable
---
<!-- Autogenerated from JSR docs. Do not edit directly. -->

## Overview

<p>This module provides Jest compatible expect assertion functionality.</p>

```js
import { expect } from "@std/expect";

const x = 6 * 7;
expect(x).toEqual(42);
expect(x).not.toEqual(0);

await expect(Promise.resolve(x)).resolves.toEqual(42);
```

<p>Currently this module supports the following functions:</p>
<ul>
<li>Common matchers:
<ul>
<li><code>toBe</code></li>
<li><code>toEqual</code></li>
<li><code>toStrictEqual</code></li>
<li><code>toMatch</code></li>
<li><code>toMatchObject</code></li>
<li><code>toBeDefined</code></li>
<li><code>toBeUndefined</code></li>
<li><code>toBeNull</code></li>
<li><code>toBeNaN</code></li>
<li><code>toBeTruthy</code></li>
<li><code>toBeFalsy</code></li>
<li><code>toContain</code></li>
<li><code>toContainEqual</code></li>
<li><code>toHaveLength</code></li>
<li><code>toBeGreaterThan</code></li>
<li><code>toBeGreaterThanOrEqual</code></li>
<li><code>toBeLessThan</code></li>
<li><code>toBeLessThanOrEqual</code></li>
<li><code>toBeCloseTo</code></li>
<li><code>toBeInstanceOf</code></li>
<li><code>toThrow</code></li>
<li><code>toHaveProperty</code></li>
<li><code>toMatchSnapshot</code></li>
<li><code>toMatchInlineSnapshot</code></li>
</ul>
</li>
<li>Mock related matchers:
<ul>
<li><code>toHaveBeenCalled</code></li>
<li><code>toHaveBeenCalledTimes</code></li>
<li><code>toHaveBeenCalledWith</code></li>
<li><code>toHaveBeenLastCalledWith</code></li>
<li><code>toHaveBeenNthCalledWith</code></li>
<li><code>toHaveReturned</code></li>
<li><code>toHaveReturnedTimes</code></li>
<li><code>toHaveReturnedWith</code></li>
<li><code>toHaveLastReturnedWith</code></li>
<li><code>toHaveNthReturnedWith</code></li>
</ul>
</li>
<li>Asymmetric matchers:
<ul>
<li><a href="https://jsr.io/@std/expect@1.0.18/doc/~/expect.anything" rel="nofollow"><code>expect.anything</code></a></li>
<li><a href="https://jsr.io/@std/expect@1.0.18/doc/~/expect.any" rel="nofollow"><code>expect.any</code></a></li>
<li><a href="https://jsr.io/@std/expect@1.0.18/doc/~/expect.arrayContaining" rel="nofollow"><code>expect.arrayContaining</code></a></li>
<li><a href="https://jsr.io/@std/expect@1.0.18/doc/~/expect.not.arrayContaining" rel="nofollow"><code>expect.not.arrayContaining</code></a></li>
<li><a href="https://jsr.io/@std/expect@1.0.18/doc/~/expect.objectContaining" rel="nofollow"><code>expect.objectContaining</code></a></li>
<li><a href="https://jsr.io/@std/expect@1.0.18/doc/~/expect.not.objectContaining" rel="nofollow"><code>expect.not.objectContaining</code></a></li>
<li><a href="https://jsr.io/@std/expect@1.0.18/doc/~/expect.closeTo" rel="nofollow"><code>expect.closeTo</code></a></li>
<li><a href="https://jsr.io/@std/expect@1.0.18/doc/~/expect.stringContaining" rel="nofollow"><code>expect.stringContaining</code></a></li>
<li><a href="https://jsr.io/@std/expect@1.0.18/doc/~/expect.not.stringContaining" rel="nofollow"><code>expect.not.stringContaining</code></a></li>
<li><a href="https://jsr.io/@std/expect@1.0.18/doc/~/expect.stringMatching" rel="nofollow"><code>expect.stringMatching</code></a></li>
<li><a href="https://jsr.io/@std/expect@1.0.18/doc/~/expect.not.stringMatching" rel="nofollow"><code>expect.not.stringMatching</code></a></li>
</ul>
</li>
<li>Utilities:
<ul>
<li><a href="https://jsr.io/@std/expect@1.0.18/doc/~/expect.addSnapshotSerializer" rel="nofollow"><code>expect.addSnapshotSerializer</code></a></li>
<li><a href="https://jsr.io/@std/expect@1.0.18/doc/~/expect.assertions" rel="nofollow"><code>expect.assertions</code></a></li>
<li><code>expect.addEqualityTester</code></li>
<li><a href="https://jsr.io/@std/expect@1.0.18/doc/~/expect.extend" rel="nofollow"><code>expect.extend</code></a></li>
<li><a href="https://jsr.io/@std/expect@1.0.18/doc/~/expect.hasAssertions" rel="nofollow"><code>expect.hasAssertions</code></a></li>
</ul>
</li>
</ul>
<p>Only these functions are still not available:</p>
<ul>
<li>Matchers:
<ul>
<li><code>toThrowErrorMatchingSnapshot</code></li>
<li><code>toThrowErrorMatchingInlineSnapshot</code></li>
</ul>
</li>
</ul>
<p>The tracking issue to add support for unsupported parts of the API is
<a href="https://github.com/denoland/std/issues/3964" rel="nofollow">https://github.com/denoland/std/issues/3964</a>.</p>
<p>This module is largely inspired by
<a href="https://github.com/allain/expect" rel="nofollow">x/expect</a> module by
<a href="https://github.com/allain" rel="nofollow">Allain Lalonde</a>.</p>

### Add to your project

```sh
deno add jsr:@std/expect
```

<a href="https://jsr.io/@std/expect/doc" class="docs-cta jsr-cta">See all symbols in @std/expect on
<svg class="inline ml-1" viewBox="0 0 13 7" aria-hidden="true" height="20"><path d="M0,2h2v-2h7v1h4v4h-2v2h-7v-1h-4" fill="#083344"></path><g fill="#f7df1e"><path d="M1,3h1v1h1v-3h1v4h-3"></path><path d="M5,1h3v1h-2v1h2v3h-3v-1h2v-1h-2"></path><path d="M9,2h3v2h-1v-1h-1v3h-1"></path></g></svg></a>

<!-- custom:start -->
<!-- Add persistent custom content below. This section is preserved across generations. -->

<!-- custom:end -->
