No description
This repository has been archived on 2024-07-19. You can view files and clone it, but cannot push or open issues or pull requests.
Find a file
Marc Cataford 29202908d4
feat: allow matcher extensions (#31)
* feat: expose Expect to allow custom matcher extensions

* feat: include generated types

* docs: document custom matchers
2023-04-18 13:32:11 -04:00
.github/workflows feat: toHaveLength matcher (#25) 2023-04-15 16:30:05 -04:00
architecture docs: adr-0001 nodeps + ci check (#19) 2023-04-14 09:38:29 -04:00
docs feat: allow matcher extensions (#31) 2023-04-18 13:32:11 -04:00
integration refactor: build context and run tests after gathering facts (#26) 2023-04-15 21:09:04 -04:00
script refactor: replace console by logging util (#27) 2023-04-15 22:18:27 -04:00
src feat: allow matcher extensions (#31) 2023-04-18 13:32:11 -04:00
tests feat: basic beforeEach, afterEach support (#28) 2023-04-15 22:50:21 -04:00
.gitignore fix: typescript support when packaged (#18) 2023-04-14 09:38:28 -04:00
.nvmrc feat: each support (#13) 2023-04-14 09:38:22 -04:00
.yarnrc.yml fix: typescript support when packaged (#18) 2023-04-14 09:38:28 -04:00
DESIGN_DECISIONS.md docs: retcon some documentation on dependencies, snapshots (#16) 2023-04-14 09:38:27 -04:00
LICENSE Initial commit 2023-03-26 15:20:46 -04:00
package.json feat: allow matcher extensions (#31) 2023-04-18 13:32:11 -04:00
README.md docs: writing tests docs (#30) 2023-04-16 01:06:59 -04:00
rome.json refactor: Expect with static matcher registration (#12) 2023-04-14 09:38:22 -04:00
tsconfig.json feat: cli options, help (#10) 2023-04-14 09:38:21 -04:00
yarn.lock build: ts-node no longer needed in main install (#24) 2023-04-15 01:37:05 -04:00

works-on-my-machine (womm)

A full-nonsense pet test runner

So, what is this?

Software in the NodeJS ecosystem tends to depend a lot on external dependencies. What would a test runner without any look like? This is the question that started all of this.

womm is a pet test runner that follows the general direction of jest and playwright with a few additional constraints:

  • It must not have any production dependencies (some development dependencies are permissible, like typescript and rome, but keeping it to a minimum);
  • It must be compatible with the general API exposed by Jest and the like, for familiarity;
  • It must use itself for testing.

Hot takes baked in

womm is an opinionated implementation of Typescript/Javascript testing libraries we've all come to get used to. You can peek at the opinions baked into this here.

Documentation

Documentation can be found here and welcomes contributions!

Development

This uses Corepack, which comes bundled with node>=16 to manage which Yarn version to use.

To get started, just corepack enable before using yarn commands. You can also jump in by running . script/bootstrap, which will select the right version of Node, enable Corepack and install devDependencies.