implementation agnostic test runner service & layers#121
Draft
subtleGradient wants to merge 45 commits intoeffect-native/mainfrom
Draft
implementation agnostic test runner service & layers#121subtleGradient wants to merge 45 commits intoeffect-native/mainfrom
subtleGradient wants to merge 45 commits intoeffect-native/mainfrom
Conversation
…r, React Native, and Bun adapters
…ed test service spec
…e, SPI, and Vitest/Bun adapters
…e` integration across all test services
…t-native/test-core` integration
…y and consistency
…pect` assertions across all test services
…ompatibility for test services
… and optional manifest entries
…ation in test service instructions
…e/test-bun, and @effect-native/test-vitest
…ct-native/test-bun, and @effect-native/test-vitest
…gration with adapters
…bun, and @effect-native/test-vitest
…gration with adapters
…ct-native/test-vitest packages with TestRunner integration
…bun and @effect-native/test-vitest with new dependencies and configurations
…clude file extensions
…cumentation in TestRunner
…ion updates for related packages
…and add LICENSE files for test packages
This comment was marked as outdated.
This comment was marked as outdated.
Member
Author
|
looks like effect is doubling down on vitest everywhere: https://github.com/Effect-TS/effect-smol/pull/328/files#diff-2ee894bf23aa44ff4ce12a3da8af19ab20180474ebf2176dbe5f2eea3f96dc92 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 likeit.effect, and facilitating seamless integration with both Vitest and Bun through adapter layers.New Testing Service and Adapter Architecture
@effect-native/testas 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
@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
@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
Workflow Clarification
.claude/commands/new-feature.mdto clarify that code should not be written during the design and planning phases, focusing instead on system design and planning documentation. [1] [2]