Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/l2beat/earl

☕ Ergonomic, modern and type-safe assertion library for TypeScript
https://github.com/l2beat/earl

assert assertion-libraries chai jest mocha testing typescript

Last synced: 24 days ago
JSON representation

☕ Ergonomic, modern and type-safe assertion library for TypeScript

Awesome Lists containing this project

README

        

![Earl](https://raw.githubusercontent.com/l2beat/earl/master/gh-cover.png)


Ergonomic, modern and type-safe assertion library for TypeScript


Brings good parts of Jest back to good ol' Mocha



Build status
Software License

## Features

- 💪 Use advanced assertions that are able to match whole ranges of values
- 🤖 Written in TypeScript with type-safety in mind
- 🎭 Type-safe, fully integrated mocks included
- ☕ Finally a modern assertion library for Mocha
- 📸 Snapshots can be easily created and updated with Earl
- 🔌 Tweak to your needs with plugins

## Installation

```sh
npm install --save-dev earl
```

## Example

```typescript
import { expect } from 'earl'

const user = {
name: 'John Doe',
email: '[email protected]',
notificationCount: 5,
}

// This code fails to compile, and TypeScript provides this useful
// error message:
// Property 'notificationCount' is missing in type
// '{ name: string; email: any; }' but required in type 'User'.
expect(user).toEqual({
name: 'John Doe',
email: expect.a(String),
})
```

## Docs

- [Getting started](https://earl.fun/introduction/getting-started.html)
- [API reference](https://earl.fun/api/api-reference.html)

# License

Published under the MIT License. Copyright © 2023 L2BEAT.