Split unit and integration/E2E tests into separate Mill modules #23
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
iterative-works/claude-code-query#23
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
Unit tests and integration/E2E tests are mixed in the same
testmodules (core.test,direct.test,effectful.test). This makes it impossible to run only fast unit tests pre-push while deferring slow tests (process spawning, real CLI) to CI.Proposed Solution
Add
itest(or similar) modules to Mill for each top-level module:core.itest—SDKUserMessageRoundTripTest,SDKUserMessageE2ETestdirect.itest—ClaudeCodeIntegrationTest,ClaudeCodeStreamingTest, process-spawning tests fromProcessManagerTest,EnvironmentTesteffectful.itest—ClaudeCodeIntegrationTest, environment/security testsThis enables:
./mill __.test— fast unit tests (pre-push hook)./mill __.itest— integration/E2E tests (CI only)Files to move
Current integration/E2E tests mixed into unit test modules:
core/test/src/.../SDKUserMessageRoundTripTest.scalacore/test/src/.../SDKUserMessageE2ETest.scaladirect/test/src/.../ClaudeCodeIntegrationTest.scaladirect/test/src/.../ClaudeCodeStreamingTest.scalaeffectful/test/src/.../ClaudeCodeIntegrationTest.scala