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 6a9e9ee3fc
feat: toHaveLength matcher (#25)
* feat: toHaveLength matcher

* refactor: standardize errors thrown on failed expectation

* test: toHaveLength coverage

* fix: resolve type discrepancy

* ci: add typecheck step
2023-04-15 16:30:05 -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
integration build: ts-node no longer needed in main install (#24) 2023-04-15 01:37:05 -04:00
script build: ts-node no longer needed in main install (#24) 2023-04-15 01:37:05 -04:00
src feat: toHaveLength matcher (#25) 2023-04-15 16:30:05 -04:00
tests feat: toHaveLength matcher (#25) 2023-04-15 16:30:05 -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: toHaveLength matcher (#25) 2023-04-15 16:30:05 -04:00
README.md chore: add bootstrap script to facilitate startup (#20) 2023-04-14 09:38:29 -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.

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.