Test Generation
Generate unit and integration tests, then score them against the suite.
Eridian Dev generates tests from the file under change and from related index chunks. It can run them in your CI workers when you opt in. The model does not get a shell on Eridian's side.
Generate
POST /v1/dev/tests
Authorization: Bearer eridian_sk_...
Content-Type: application/json
Idempotency-Key: tests-posting-4821
{
"project_id": "prj_dev_001",
"repository_id": "repo_payments_core",
"model": "auto",
"target": {
"path": "src/ledger/posting.ts",
"sha": "8f3a2b1c"
},
"framework": "vitest",
"kinds": ["unit", "edge"],
"existing_test_paths": ["src/ledger/posting.test.ts"]
}
Required scope: dev:write.
{
"id": "tst_88ab",
"object": "eridian.dev.test_job",
"status": "completed",
"model": "gpt",
"files": [
{
"path": "src/ledger/posting.test.ts",
"operation": "patch",
"content": "describe('postEntry retry', () => { ... })"
}
],
"notes": ["Added 503 retry without Idempotency-Key."],
"eridian": {
"route": "gpt",
"region": "eu-west-1",
"cost_usd": 0.034
}
}
operation is patch or create. Eridian does not delete tests.
Frameworks
framework | Languages |
|---|---|
vitest | TypeScript, JavaScript |
jest | TypeScript, JavaScript |
pytest | Python |
go_test | Go |
junit | Java, Kotlin |
rspec | Ruby |
The value must match the repository. A mismatch returns 400 invalid_request with param: framework.
Run in CI
Eridian returns files. Your runner applies them and executes the suite. Optionally report results back:
POST /v1/dev/tests/tst_88ab/results
Authorization: Bearer eridian_sk_...
{
"passed": false,
"failed": [
{
"name": "postEntry retry without key",
"message": "expected MissingIdempotencyKeyError"
}
]
}
Failed runs can request a revision:
POST /v1/dev/tests/tst_88ab/revise
{
"model": "gpt",
"max_revisions": 2
}
Revisions are new inference calls billed as test generation. Cap them. A loop that cannot pass should fail the CI check, not raise max_revisions.
What we will not generate
- Tests that require production credentials or live customer data.
- Network tests that call
api.geteridian.comfrom the generated file without a stub. - Snapshots of PII. PII redaction applies to prompts. Fixtures you commit are your policy.
Eval
Score generators with Evaluations using metrics: ["tests_compile", "tests_pass", "pii_leak"]. Promote the template only when tests_pass meets the desk threshold.
See CI Pipelines and Code Review (test_gaps is a good input to this API).
Production API credentials are issued with an institution workspace. Contact sales if you need access.