FREEDOM251

Freedom251 › Test Data Generation Tools

Fishery

Free plan

Visit Fishery Alternatives Pricing

Fishery's own site

What Fishery is

Fishery is a JavaScript library for preparing objects as test data and for other situations where JavaScript data needs to be set up. Its factories provide a way to define defaults and create objects with `build()`, layering supplied parameters over those defaults. Factories can also define `onCreate` behavior: calling `create()` runs asynchronous work and returns a promise. Fishery supports TypeScript with typed factory parameters and return objects, and it can also be used without TypeScript.

Factory features include sequences, transient parameters, associations, and hooks that run after a build or create operation. The documentation also describes extending factories with reusable builder methods by subclassing `Factory`. Fishery is free software under the MIT license, and the project says it is maintained and funded by thoughtbot, inc. The repository provides installation commands for npm and Yarn as development dependencies, and links to GitHub Issues for bug reports and change requests. Its listed Free plan costs nothing.

Who it suits

Fishery suits developers who need to prepare JavaScript objects for tests or other data setup, especially when factory defaults, associations, or lifecycle hooks are useful. It can also fit TypeScript projects that want typed factory parameters and return objects.

What it does well

  • Free software under the MIT license.
  • Works with TypeScript or without it.
  • Builds objects from defaults and supplied parameters.
  • Supports associations, sequences, and transient parameters.
  • Offers hooks after building and creating objects.
  • Installable through npm or Yarn.

What to know first

  • Its stated purpose centers on JavaScript object setup.
  • Asynchronous create() behavior returns a promise.

Plans

PlanBilled and limitsPrice
FreeFree software · MIT licenseFree

As github.com lists them, read 4 Oct 2026. The maker's own page has the final word.

Getting started

  1. Install Fishery as a development dependency with npm or Yarn.
  2. Define a factory with default values.
  3. Use build() to create an object, passing any values to layer over the defaults.
  4. Add factory features such as associations or hooks as needed.
  5. Use create() when the factory's onCreate behavior should perform asynchronous work.

Verdict

Choose Fishery if your project needs reusable JavaScript factories for setting up objects, with TypeScript support available when needed. Look elsewhere if your needs do not involve JavaScript data setup or factory-based object creation.

Questions

How much does Fishery cost?

The Free plan is listed as free.

Is Fishery open source?

Fishery is identified as free software under the MIT license.

Does Fishery support TypeScript?

Yes. It supports typed factory parameters and return objects, and can also be used without TypeScript.

What does Fishery do?

It provides JavaScript factories for setting up objects, including objects used as test data.

How can I install Fishery?

The repository gives npm and Yarn commands for adding it as a development dependency.

Who maintains Fishery?

The repository says Fishery is maintained and funded by thoughtbot, inc.

Facts from Fishery's own pages

Async creation
Factories can use create() for asynchronous operations, with behavior configured through onCreate. · github.com, 11 Oct 2026
Audience
The README describes Fishery as useful for tests and other situations where JavaScript data needs to be set up. · github.com, 4 Oct 2026
Build objects
Factories use build() to create objects, and passed parameters overlay the factory's default properties. · github.com, 11 Oct 2026
Create objects
Factories can define onCreate behavior so create() performs asynchronous work and returns a promise. · github.com, 4 Oct 2026
Factory features
The README documents sequences, transient parameters, associations, after-build hooks, and after-create hooks. · github.com, 11 Oct 2026
Install
The README gives npm install --save-dev fishery and yarn add --dev fishery as installation commands. · github.com, 4 Oct 2026
Installation
The README gives npm and Yarn commands for installing Fishery as a development dependency. · github.com, 11 Oct 2026
Integration
The README describes using factories alongside other factories to build associated objects. · github.com, 11 Oct 2026
Intended use
The README says Fishery can be used in tests and anywhere else data needs to be set up. · github.com, 11 Oct 2026
License
The README describes Fishery as free software and links to its license. · github.com, 11 Oct 2026
License details
The repository identifies its license as MIT. · github.com, 11 Oct 2026
Maintainer
The repository says it is maintained and funded by thoughtbot, inc. · github.com, 11 Oct 2026
Purpose
Fishery is a JavaScript library for setting up objects for tests and other data needs. · github.com, 11 Oct 2026
Reusable builders
Factories can be extended with methods to create reusable builder patterns. · github.com, 11 Oct 2026
Security
The repository lists a security policy resource, but the opened page did not provide policy details. · github.com, 11 Oct 2026
Support channel
The repository links to GitHub Issues for reporting bugs and requesting changes. · github.com, 4 Oct 2026
TypeScript
Factories accept typed parameters and return typed objects, and Fishery also works without TypeScript. · github.com, 11 Oct 2026

Where Fishery stands on Freedom251

Look at these too