🚧 This is beta
Features
Like jest but not jest
You can express declarative tests around the symbolic expect in jest. Also, all matchers are composable and customizable. jest and jest-extended matchers are provided as presets.Universal
It is designed for use with Deno first and foremost.
It is also compatible to work in browsers and Node.js environments.Compositable
Unitest is also intended to be used in a browser.
For this reason, we provide a composable interface to keep the bundle size as small as possible.TypeScript-first
Type-safe tests can be expressed. A type filter restricts the availability of only those matchers that satisfy the data type under test.
It also keeps the bundle size small by transferring part of the data type validation to TypeScript.
Getting Started
Visit https://unitest.vercel.app/ to get started with Unitest.
Quick view
import { expect, it } from "https://deno.land/x/unitest@$VERSION/mod.ts";
it("should not equal", () => {
expect("Deno").not.toBe("Node");
});
Contributing
Please see our CONTRIBUTING.md.
License
Copyright © 2021-present TomokiMiyauci.
Released under the MIT license
TODO
- Implement expecter and jest default matcher (rest)
- toContainEqual
- toMatchObject
- toMatchSnapshot
- toMatchInlineSnapshot
- toStrictEqual
- toThrowErrorMatchingSnapshot
- toThrowErrorMatchingInlineSnapshot
- Implement third party matcher (rest)
- jest-extended
- toBeArrayOfSize toHaveLength
- toIncludeAllPartialMembers
- toThrowWithMessage
- toHaveBeenCalledBefore
- toHaveBeenCalledAfter
- toHaveBeenCalledOnce
- toBeNaN exists in jest
- toContainKey same as toHaveProperty
- toContainAllKeys
- toContainAllValues
- toContainAllEntries
- toResolve not pure
- toReject not pure
- toBeHexadecimal -> toBeHexColor
- jest-extended
- Implement interface of custom matcher
- Implement
it
suite - Implement
describe
suite