Skip to content

test: migrate two suites to TestBalloon as a PoC - #101

Closed
wisemuji wants to merge 1 commit into
mainfrom
poc/testballoon-migration
Closed

test: migrate two suites to TestBalloon as a PoC#101
wisemuji wants to merge 1 commit into
mainfrom
poc/testballoon-migration

Conversation

@wisemuji

@wisemuji wisemuji commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Closes #100.

Migrates exactly two suites to TestBalloon and leaves every other suite on Kotest, so the diff doubles as the coexistence test.

  • HapticIntensityTest: data-driven cases were several shouldBe calls in one test body, fail-fast and unnamed. A plain Kotlin for loop over test(...) is all TestBalloon needs to give each input its own test -> 7 tests become 14, same assertions.
  • JindongApplierTest: every test including nested suites gets a fresh fixture as its receiver. 22 tests before and after, bodies unchanged apart from contexttestSuite.

Assertions stay on kotest-assertions-core; only the spec engine changed.

Tests

:jindong-core:testAndroidHostTest: The TestBalloon entry point contributes 14, the other 20 classes still run. apiCheck and spotlessCheck pass; no public API changes.

@coderabbitai

coderabbitai Bot commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 8dfed3b5-a5d3-415a-89fa-008e7e1b1847

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch poc/testballoon-migration

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Wire the TestBalloon plugin into jindong-core and jindong-compose
alongside Kotest, and migrate exactly two suites to it:

- HapticIntensityTest: data-driven cases become one test per input via a
  plain Kotlin loop, so each input is named and fails independently
  (7 tests -> 14, same assertions).
- JindongApplierTest: the lateinit + beforeEach fixture is replaced by
  testFixture { Fixture() } asContextForEach, making isolation
  structural. Test bodies are unchanged apart from context -> testSuite.

Assertions stay on kotest-assertions-core in both; only the spec engine
changed. Every other suite is left on Kotest, which verifies the two
frameworks coexist in the same source set.
@wisemuji
wisemuji force-pushed the poc/testballoon-migration branch from d5bd531 to a4dfeab Compare July 26, 2026 07:49
@wisemuji
wisemuji requested a review from l2hyunwoo July 26, 2026 07:59
@github-actions

Copy link
Copy Markdown

Jindong Core Test Coverage Report

Total Project Coverage 89.41%

@wisemuji wisemuji closed this Aug 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

test: evaluate TestBalloon for parameterized tests and fixture isolation

1 participant