# instancio/instancio

A library that creates fully populated objects for your unit tests.

Repository: https://github.com/instancio/instancio
Canonical: https://ross.abutalabs.com/products/instancio
Homepage: https://www.instancio.org
Language: Java
License: Apache-2.0
License Family: permissive
Topics: java, testing, data-generator, test-automation, unit-testing, random, random-generation, test-data-generator, junit, junit-jupiter, test-framework
Last push: 2026-08-31T15:16:43+00:00

## Health v2 (maintenance only)
Score: 95/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 100, release rhythm 87, longevity 100
- inputs: {"age_days": 1644, "days_push": 2, "days_rel": 4, "gap_med": 38.5, "n_releases_24m": 15}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1159, forks 68 (observed 2026-09-01T02:14:03.064501+00:00)

## What it is
Instancio is a Java library that automatically creates fully-populated objects with random data for unit tests, including nested objects, collections, and generic types. It offers selective field overrides, reusable templates, reproducible seeds, and integrations with JUnit, Kotlin, Guava, and Protobuf.

## Use cases
- generate test data for java unit tests
- populate nested objects automatically in tests
- create random test fixtures with junit
- reduce boilerplate test setup code
- generate reproducible random test data with seeds
- create lists of test objects in java
- generate test data from csv files

## When to choose
- you write Java or Kotlin unit tests and want to eliminate manual test data setup
- you need fully-populated object graphs including nested objects, collections, and generics
- you want randomized inputs with reproducible seeds for debugging failures
- you use JUnit and want parameter-free tests with dynamic data

## When to avoid
- you need realistic domain-specific data like valid addresses or names as the primary goal
- you work outside the JVM ecosystem
- your tests require exact, deterministic values for every field

## Facets
- artifact type: library
- maturity: active
- function: testing, data-generation, mocking
- domain: testing, developer-tools
- platform: jvm
- tags: test-data-generator, junit, unit-testing, object-population, random-data, kotlin, protobuf, java

## Member repositories
- instancio/instancio (main) score 95

## Provenance
- Observed fields: from GitHub, fetched 2026-09-01T02:14:03.064501+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T06:32:02.695986+00:00, confidence not recorded.
  - readme: https://github.com/instancio/instancio (fetched 2026-09-01T02:14:03.064501+00:00, sha 108566084a79)
  - homepage: https://www.instancio.org (fetched 2026-08-29T12:36:57.709082+00:00, sha abe182b4c06b)
  - site_page: https://www.instancio.org/getting-started (fetched 2026-08-29T12:36:57.718029+00:00, sha 7aebd61a5a2a)
  - site_page: https://www.instancio.org/user-guide (fetched 2026-08-29T12:36:57.720105+00:00, sha 909cae3ce202)
- Data as of 2026-08-30T08:39:29.467469+00:00.
