{"id":16720391,"url":"https://github.com/tomokimiyauci/unitest","last_synced_at":"2025-04-10T09:54:28.037Z","repository":{"id":45091838,"uuid":"429337094","full_name":"TomokiMiyauci/unitest","owner":"TomokiMiyauci","description":"🃏 Deno-first universal unit testing framework","archived":false,"fork":false,"pushed_at":"2022-01-31T03:27:45.000Z","size":936,"stargazers_count":7,"open_issues_count":3,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-08T11:18:01.878Z","etag":null,"topics":["deno","framework","jest","test"],"latest_commit_sha":null,"homepage":"https://unitest.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TomokiMiyauci.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":"FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null},"funding":{"github":"TomokiMiyauci","patreon":"tomoki_miyauci"}},"created_at":"2021-11-18T07:34:21.000Z","updated_at":"2023-08-02T11:01:52.000Z","dependencies_parsed_at":"2022-09-04T18:22:01.094Z","dependency_job_id":null,"html_url":"https://github.com/TomokiMiyauci/unitest","commit_stats":null,"previous_names":[],"tags_count":82,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TomokiMiyauci%2Funitest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TomokiMiyauci%2Funitest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TomokiMiyauci%2Funitest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TomokiMiyauci%2Funitest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TomokiMiyauci","download_url":"https://codeload.github.com/TomokiMiyauci/unitest/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248198823,"owners_count":21063626,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deno","framework","jest","test"],"created_at":"2024-10-12T22:06:58.007Z","updated_at":"2025-04-10T09:54:28.013Z","avatar_url":"https://github.com/TomokiMiyauci.png","language":"TypeScript","funding_links":["https://github.com/sponsors/TomokiMiyauci","https://patreon.com/tomoki_miyauci"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ch1\u003eUnitest\u003c/h1\u003e\n\n\u003cimg width=\"160px\" hight=\"160px\" src=\"./_docs/public/logo.svg\" /\u003e\n\nDeno-first **uni**versal **unit** testing framework\n\n[![deno land](http://img.shields.io/badge/available%20on-deno.land/x-lightgrey.svg?logo=deno\u0026labelColor=black\u0026color=black)](https://deno.land/x/unitest)\n[![nest.land](https://nest.land/badge.svg)](https://nest.land/package/unitest)\n\n[![release](https://img.shields.io/github/v/release/TomokiMiyauci/unitest?sort=semver\u0026color=black\u0026logo=github)](https://github.com/TomokiMiyauci/unitest/releases)\n[![deno version](https://img.shields.io/badge/deno-^1.15.0-black?logo=deno)](https://github.com/denoland/deno)\n[![deno doc](https://img.shields.io/badge/deno-doc-black)](https://doc.deno.land/https/deno.land/x/unitest/mod.ts)\n\n[![test](https://github.com/TomokiMiyauci/unitest/actions/workflows/test.yaml/badge.svg?branch=beta)](https://github.com/TomokiMiyauci/unitest/actions/workflows/test.yaml)\n[![codecov](https://codecov.io/gh/TomokiMiyauci/unitest/branch/main/graph/badge.svg?token=nQZ8Nnx3KH)](https://codecov.io/gh/TomokiMiyauci/unitest)\n[![DeepSource](https://deepsource.io/gh/TomokiMiyauci/unitest.svg/?label=active+issues\u0026token=1Omp7qqFQESc-ArgLDUEIpUI)](https://deepsource.io/gh/TomokiMiyauci/unitest/)\n[![DeepScan grade](https://deepscan.io/api/teams/10684/projects/19438/branches/504638/badge/grade.svg)](https://deepscan.io/dashboard#view=project\u0026tid=10684\u0026pid=19438\u0026bid=504638)\n\n[![Semver](https://img.shields.io/badge/semver-2.0.0-black?logo=semVer)](https://semver.org/)\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-black.svg?logo=git)](https://conventionalcommits.org)\n[![semantic-release: angular](https://img.shields.io/badge/semantic--release-angular-black?logo=semantic-release)](https://github.com/semantic-release/semantic-release)\n[![license](https://img.shields.io/github/license/TomokiMiyauci/unitest?color=black\u0026logo=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)\n\n\u003c/div\u003e\n\n---\n\n:construction: This is beta\n\n## Features\n\n- 🦕 Deno-first\\\n  It has been designed with Deno first, and actively uses the Deno Runtime API.\n\n- 🌎 Universal\\\n  It is also compatible to work in browsers and Node.js environments. Use the\n  compatible `compat` module instead of the Deno Runtime API.\n\n- 🃏 Like jest but not jest\\\n  You can express declarative tests around the symbolic expect in jest. Also,\n  all matchers are composable and customizable. jest and jest-extended matchers\n  are provided as presets.\n\n- ♻️ Compositable\\\n  Unitest is also intended to be used in a browser.\\\n  For this reason, we provide a composable interface to keep the bundle size as\n  small as possible.\n\n- 📄 TypeScript-first\\\n  Type-safe tests can be expressed. A type filter restricts the availability of\n  only those matchers that satisfy the data type under test.\\\n  It also keeps the bundle size small by transferring part of the data type\n  validation to TypeScript.\n\n- 🐺 Isolated\\\n  Each module is independent, with no dependency on context. This means that\n  they can be combined with any module.\n\n## Requirements\n\n- deno 1.15+\n\n## Getting Started\n\nVisit \u003chttps://unitest.vercel.app/\u003e to get started with Unitest.\n\n## Quick view\n\n[All available matchers](./matcher/README.md)\n\n```ts\nimport { expect, test } from \"https://deno.land/x/unitest@$VERSION/mod.ts\";\n\ntest({\n  name: \"should not equal\",\n  fn: () =\u003e {\n    expect(\"Deno\").not.toBe(\"Node\");\n  },\n});\n```\n\nthen, `deno test`\n\n**Currently the test runner CLI relies on the Deno CLI. This is subject to\nchange in the future.**\n\n## Contributing\n\nPlease see our [CONTRIBUTING.md](./CONTRIBUTING.md).\n\n## License\n\nCopyright © 2021-present [TomokiMiyauci](https://github.com/TomokiMiyauci).\n\nReleased under the [MIT](./LICENSE) license\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomokimiyauci%2Funitest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftomokimiyauci%2Funitest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomokimiyauci%2Funitest/lists"}