thoughtbot/fishery

A library for setting up JavaScript objects as test data

Owned by thoughtbot

View on GitHub ↗Jump to charts ↓

thoughtbot/fishery has 1k+ stars and 40+ forks on GitHub, is written in TypeScript, and was last pushed on Feb 26, 2026. Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 4 minutes ago
Added to GitGenius on October 12th, 2026
Created on January 11th, 2019
Open Issues & Pull Requests: 20 (+0)
GitHub issues: Enabled
Number of forks: 40
Total Stargazers: 1,035 (+0)
Total Subscribers: 8 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 12.7 hours
Mean response time: 157.0 days
90th percentile: 701.4 days
Tracked items: 8

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 6
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 617 days
Stale 30+ days: 6
Stale 90+ days: 6

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • feature request (5)
  • bug (4)

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

Fishery is a library for setting up JavaScript objects as test data.

Fishery solves the problem of creating consistent, reusable test data by providing a factory pattern for generating objects. Rather than manually constructing objects in each test, developers define factories that specify default properties and behavior. The library accepts typed parameters and returns typed objects, allowing factories to be called with `build()` for synchronous object creation or `create()` for asynchronous operations like database persistence. Factories can compute derived properties based on input parameters, accept transient parameters that don't map to the result object, and manage associations between objects.

Fishery is designed for teams using TypeScript, where its type system ensures that test data matches expected shapes and that factory parameters are correctly specified. The tool suits projects where tests need consistent, maintainable fixtures or where data setup is complex enough to benefit from reusable patterns. It works without TypeScript as well, though without the type safety benefits. The library is modeled after factory_bot, a Ruby testing tool, making it familiar to developers transitioning from Ruby projects.

The project maintains active engagement with its codebase through regular updates and responsiveness to issues. Development shows consistent attention to both feature completeness and code quality, with documentation kept current alongside implementation changes.