Skip to content

implementation agnostic test runner service & layers#121

Draft
subtleGradient wants to merge 45 commits intoeffect-native/mainfrom
en-rn-test-runner
Draft

implementation agnostic test runner service & layers#121
subtleGradient wants to merge 45 commits intoeffect-native/mainfrom
en-rn-test-runner

Conversation

@subtleGradient
Copy link
Member

This pull request introduces a new implementation-agnostic testing service, @effect-native/test, along with dedicated adapters for Vitest and Bun. The changes include full requirements, design, and planning documentation for each package, outlining a modular architecture, integration strategy, and success criteria. The approach centers on providing a thin, type-safe abstraction over existing runners, enabling Effect-based tests via helpers like it.effect, and facilitating seamless integration with both Vitest and Bun through adapter layers.

New Testing Service and Adapter Architecture

  • Introduced @effect-native/test as a runner-agnostic testing service, providing Effect helpers (it.effect), a binding registry, and ambient type templates. The package does not implement its own runner or assertion engine, instead relying on adapters for runner-specific integration. (.changeset/ready-turkeys-float.md, [1] [2] [3]

Vitest Adapter

  • Added requirements, design, and plan docs for @effect-native/test-vitest, detailing an adapter that wires Effect helpers to Vitest’s primitives, supports equality testers, and handles cancellation via TestContext signals. The adapter is thin, type-safe, and supports optional manifest mode. [1] [2] [3]

Bun Adapter

  • Added requirements, design, and plan docs for @effect-native/test-bun, describing an adapter that maps Effect helpers to Bun’s test primitives, registers equality testers, and provides best-effort cancellation. It supports native discovery and optional manifest mode. [1] [2] [3]

Documentation and Authoring Guidance

  • Provided comprehensive authoring examples, ambient type template details, and adapter contract documentation to guide users in integrating the new testing service across different environments. [1] [2]

Workflow Clarification

  • Updated .claude/commands/new-feature.md to clarify that code should not be written during the design and planning phases, focusing instead on system design and planning documentation. [1] [2]

…ct-native/test-bun, and @effect-native/test-vitest
…ct-native/test-vitest packages with TestRunner integration
…bun and @effect-native/test-vitest with new dependencies and configurations
@claude

This comment was marked as outdated.

@subtleGradient subtleGradient changed the title imply agnostic test runner service & layers implementation agnostic test runner service & layers Sep 12, 2025
@subtleGradient
Copy link
Member Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: FINISH

Development

Successfully merging this pull request may close these issues.

1 participant