Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/TomokiMiyauci/unitest
🃏 Deno-first universal unit testing framework
https://github.com/TomokiMiyauci/unitest
deno framework jest test
Last synced: 25 days ago
JSON representation
🃏 Deno-first universal unit testing framework
- Host: GitHub
- URL: https://github.com/TomokiMiyauci/unitest
- Owner: TomokiMiyauci
- License: mit
- Created: 2021-11-18T07:34:21.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2022-01-31T03:27:45.000Z (almost 3 years ago)
- Last Synced: 2024-11-14T04:02:44.777Z (30 days ago)
- Topics: deno, framework, jest, test
- Language: TypeScript
- Homepage: https://unitest.vercel.app
- Size: 914 KB
- Stars: 7
- Watchers: 3
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
- awesome-deno - unitest - Deno-first universal unit testing framework. (Modules / Testing)
README
Unitest
Deno-first **uni**versal **unit** testing framework
[![deno land](http://img.shields.io/badge/available%20on-deno.land/x-lightgrey.svg?logo=deno&labelColor=black&color=black)](https://deno.land/x/unitest)
[![nest.land](https://nest.land/badge.svg)](https://nest.land/package/unitest)[![release](https://img.shields.io/github/v/release/TomokiMiyauci/unitest?sort=semver&color=black&logo=github)](https://github.com/TomokiMiyauci/unitest/releases)
[![deno version](https://img.shields.io/badge/deno-^1.15.0-black?logo=deno)](https://github.com/denoland/deno)
[![deno doc](https://img.shields.io/badge/deno-doc-black)](https://doc.deno.land/https/deno.land/x/unitest/mod.ts)[![test](https://github.com/TomokiMiyauci/unitest/actions/workflows/test.yaml/badge.svg?branch=beta)](https://github.com/TomokiMiyauci/unitest/actions/workflows/test.yaml)
[![codecov](https://codecov.io/gh/TomokiMiyauci/unitest/branch/main/graph/badge.svg?token=nQZ8Nnx3KH)](https://codecov.io/gh/TomokiMiyauci/unitest)
[![DeepSource](https://deepsource.io/gh/TomokiMiyauci/unitest.svg/?label=active+issues&token=1Omp7qqFQESc-ArgLDUEIpUI)](https://deepsource.io/gh/TomokiMiyauci/unitest/)
[![DeepScan grade](https://deepscan.io/api/teams/10684/projects/19438/branches/504638/badge/grade.svg)](https://deepscan.io/dashboard#view=project&tid=10684&pid=19438&bid=504638)[![Semver](https://img.shields.io/badge/semver-2.0.0-black?logo=semVer)](https://semver.org/)
[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-black.svg?logo=git)](https://conventionalcommits.org)
[![semantic-release: angular](https://img.shields.io/badge/semantic--release-angular-black?logo=semantic-release)](https://github.com/semantic-release/semantic-release)
[![license](https://img.shields.io/github/license/TomokiMiyauci/unitest?color=black&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAEFCu8CAAAABGdBTUEAALGPC/xhBQAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAHKADAAQAAAABAAAAHAAAAABHddaYAAAC5UlEQVRIDd2WPWtVQRCGby5pVASLiGghQSxyG8Ui2KWwCfkH9olY2JneQkiR0oCIxH/gB+qVFDYBIWBAbAIRSbCRpLXwIxLiPT7vnNm9e87ZxJtUwYH3zO47Mzv7Mbv3tlo5KYriGtgAJ81OY1ENdG/YI4boFEOI911BXgY/pdtwGuAtXpvmB1tAXHDnUolE5urkPOQo6MqA3pXWmJJL4Bb4rQ7yEYfxsjnIF29NJIoNC6e5fxOL/qN+9KCz7AaLpN8zI415N2i2EptpGrkRIjGeAuvR6IY1hSFLFUOug9Ms2M7ZxIUNytm1mnME186sdI2BOCwAyQMg54ugzSmKmwbPwSbolKH+hbAtQdsOoF+BsF3anUVwBdiOWRidFZDKTTrKEAJTm3GVrGkHzw/uPZbyx7DNNLfB7KGmRsCcr+/gjaiPSpAOTyX9qG4L/XBDdWXDDf1M+wtQ5fwCOtcb4Dto6VpLmzByB6gqdHbTItGSJdAGqibJQhmRfCF7IN4beSF2G9CqnGXQrxofXU+EykllNeoczRgYytDKMubDIRK0g5MF8rE69cGu0u9nlUcqaUZ41W0qK2nGcSzr4D2wV9U9wxp1rnpxn8agXAOHMQ9cy9kbHM7ngY4gFb03TxrO/yfBUifTtXt78jCrjY/jgEFnMn45LuNWUtknuu7NSm7D3QEn3HbatV1Q2jvgIRf1sfODKQaeymxZoMLlTqsq1LF+HvaTqQOzEzUCfni0/eNIA+DfuE3KEtbsegckGmMktTXacnBHPVe687ugkpT+axCkkhBSyRSjWI2xf1KMMVmYiQdWksK9BEFiQoiYLIlvJA3/zeTzCejP0RbB6YPbhZuB+0pR3KcdX0LaJtju0ZgBL8Bd+sbz2QIaU2OfBX3BaQLsgZysQtrk0M8Sh1A0w3DyyYnGnAiZ4gqZ/TvI2A8OGd1YIbF7+F3P+B6dYpYdsJNZgrjO0UdOIhmom0nwL0pnfnzkL1803jAoKhvyAAAAAElFTkSuQmCC)](./LICENSE)---
:construction: This is beta
## Features
- 🦕 Deno-first\
It has been designed with Deno first, and actively uses the Deno Runtime API.- 🌎 Universal\
It is also compatible to work in browsers and Node.js environments. Use the
compatible `compat` module instead of the Deno Runtime API.- 🃏 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.- ♻️ 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.- 🐺 Isolated\
Each module is independent, with no dependency on context. This means that
they can be combined with any module.## Requirements
- deno 1.15+
## Getting Started
Visit to get started with Unitest.
## Quick view
[All available matchers](./matcher/README.md)
```ts
import { expect, test } from "https://deno.land/x/unitest@$VERSION/mod.ts";test({
name: "should not equal",
fn: () => {
expect("Deno").not.toBe("Node");
},
});
```then, `deno test`
**Currently the test runner CLI relies on the Deno CLI. This is subject to
change in the future.**## Contributing
Please see our [CONTRIBUTING.md](./CONTRIBUTING.md).
## License
Copyright © 2021-present [TomokiMiyauci](https://github.com/TomokiMiyauci).
Released under the [MIT](./LICENSE) license