https://github.com/flarebyte/baldrick-zest-engine
Run tests declaratively
https://github.com/flarebyte/baldrick-zest-engine
npm-package testing typescript
Last synced: 18 days ago
JSON representation
Run tests declaratively
- Host: GitHub
- URL: https://github.com/flarebyte/baldrick-zest-engine
- Owner: flarebyte
- License: mit
- Created: 2022-08-31T07:01:11.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2023-02-27T09:01:25.000Z (over 3 years ago)
- Last Synced: 2025-02-04T13:05:15.863Z (over 1 year ago)
- Topics: npm-package, testing, typescript
- Language: TypeScript
- Homepage:
- Size: 153 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# baldrick-zest-engine






> Project status: Decommissioned
This project explored a YAML-based format to author unit tests quickly. While useful in places, our current practice favors classic unit tests supported by generative AI and small helper libraries. As a result, baldrick-zest-engine is decommissioned and not recommended for new work.
Highlights:
- Written in `TypeScript` (ESM).
## Why decommissioned?
- Maintenance and onboarding costs outweighed benefits of YAML indirection.
- Modern AI-assisted workflows make writing conventional tests fast and clearer.
- Existing ecosystem tools (Node test runner, Vitest/Jest) cover the needs better.
## Recommended approach
- Write classic tests (Node `--test`, Vitest, or Jest) and use generative AI to scaffold cases.
- Compose data shaping with helpers like:
- `object-crumble` for structured object mutation/abstraction
- `baldrick-zest-mess` for lightweight table-driven and diff helpers
Example (Node test runner):
```ts
// test/my-feature.test.ts
import { strict as assert } from 'node:assert';
const addPrefix = (p: string, v: string) => `${p}${v}`;
test('adds prefix', () => {
assert.equal(addPrefix('pre-', 'value'), 'pre-value');
});
// Table-driven
for (const [p, v, out] of [
['pre-', 'a', 'pre-a'],
['x-', 'b', 'x-b'],
]) {
test(`adds prefix ${p} to ${v}`, () => {
assert.equal(addPrefix(p, v), out);
});
}
```
## Status and support
- No new features planned; security updates only (if any).
- Consider migrating YAML specs to equivalent TypeScript tests using the example above and helpers as needed.
## Documentation and links
- Legacy docs (for reference only):
- [Code Maintenance](MAINTENANCE.md)
- [Code Of Conduct](CODE_OF_CONDUCT.md)
- [Api for baldrick-zest-engine](API.md)
- [Contributing](CONTRIBUTING.md)
- [Glossary](GLOSSARY.md)
- [Diagram for the code base](INTERNAL.md)
- [Vocabulary used in the code base](CODE_VOCABULARY.md)
- [Architectural Decision Records](DECISIONS.md)
- [Contributors](https://github.com/flarebyte/baldrick-zest-engine/graphs/contributors)
- [Dependencies](https://github.com/flarebyte/baldrick-zest-engine/network/dependencies)
- [Usage](USAGE.md)
## Related
- Recommended: [baldrick-zest-mess](https://github.com/flarebyte/baldrick-zest-mess)
- Recommended: [object-crumble](https://github.com/flarebyte/object-crumble)
## Installation (legacy)
This package is ESM-only. Installation is not recommended for new projects; retained for archival testing only.
```bash
npx baldrick-zest-engine --help
```
To inspect the repository locally:
```bash
git clone https://github.com/flarebyte/baldrick-zest-engine.git
cd baldrick-zest-engine
yarn
```