Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/eeue56/bach
https://github.com/eeue56/bach
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/eeue56/bach
- Owner: eeue56
- License: bsd-3-clause
- Created: 2021-03-23T20:36:06.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2023-04-09T11:14:17.000Z (almost 2 years ago)
- Last Synced: 2024-09-22T06:17:07.726Z (4 months ago)
- Language: TypeScript
- Size: 621 KB
- Stars: 1
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# bach
A very simple TypeScript test runner inspired by Pytest.
Looks in tsconfig.include for files ending with `test`. Look in those files for functions starting with `test`, and run them. Async functions are run with `await`. Use the [assert](https://nodejs.org/api/assert.html) module for writing assertions. The return result is ignored.
Part of the [Hiraeth](https://github.com/eeue56/hiraeth) collection.
## Installation
Requires ts-node to be installed.
```
npm install --save-dev @eeue56/bach
```## Usage
Make sure your tsconfig has `include` set up correctly. Then you can run bach via `npx @eeue56/bach` from the project root.
See [bach_test.ts](src/bach_test.ts) for example usage.
You can also specify specific files or functions to run via flags:
```
--function [string...]: Run a specific function
--file [string...]: Run a specific file
--clean-exit: Don't use process.exit even if tests fail
--only-fails : Only show the tests that fail
--in-chunks number: Run tests in chunks of N files (suitable for lower memory impact)
--chunk-start number: Start running chunk at N
-u, --update-snapshots : Update the snapshots and exit
-h, --help : Displays help message```
## Snapshot tests
Snapshots can be created by having a function called `snapshot{x}` exported inside the test files. On first run, it will create the snapshot files in `__snapshots__`. On subsequent runs, the contents within the snapshot files will be compared with the output from the function. For example:
```typescript
export async function snapshotNumber() {
return 9001;
}
```## Name
Bach means "small" or "little" in Welsh. It is also used as an affectionate term, much like "love" or "dear" in English. I named it bach, because I wanted the smallest possible test runner that still gave useful output.