원클릭으로
run-module-tests
Identify and run the correct Gradle test task for a given module based on its source sets and plugin type.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Identify and run the correct Gradle test task for a given module based on its source sets and plugin type.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
Apply a new upstream Actual migration to Aktual — update MigrateDatabase.kt, SQLDelight .sq files, Adapters, model types, and the migration test. Triggered when last-known-migration.txt is updated.
Generate a new UI/VM module pairing with a scrolling list screen — blurred top bar, pull-to-refresh, shimmer loading, and Loading/Empty/Failure/Success states. Uses ListSchedulesScreen as the reference template.
Fetch a Material Icon SVG and convert it to a Compose ImageVector in the aktual-core:icons module. Use when the user wants to add a new Material icon.
Convert an SVG file (local path or URL) to a Compose ImageVector in the aktual-core:icons module. Defaults to AktualIcons; use --material for MaterialIcons.
SOC 직업 분류 기준
| name | run-module-tests |
| description | Identify and run the correct Gradle test task for a given module based on its source sets and plugin type. |
| argument-hint | <module-path> |
Run the correct test task(s) for a Gradle module in this KMP project.
$ARGUMENTS should be the Gradle module path (e.g., aktual-api, aktual-account:vm, aktual-app:desktop)
Check which test source set directories exist for the module under src/:
src/commonTest/ -> shared tests (run by both androidHostTest and desktopTest tasks)
src/androidHostTest/ -> Android-specific tests (Robolectric, runs on host JVM)
src/desktopTest/ -> JVM/Desktop-specific tests
src/test/ -> Standard JVM test (JVM-only modules)
Use Glob to check: <module-path>/src/*test*/ and <module-path>/src/*Test*/
The module path on disk uses / separators (e.g., aktual-core/api/src/commonTest), but the Gradle path uses : (e.g., :aktual-api).
Check the module's build.gradle.kts for which convention plugin it uses:
| Plugin | Module Type | Available Test Tasks |
|---|---|---|
aktual.module.kotlin | KMP | allTests, testAndroidHostTest, desktopTest |
aktual.module.compose | KMP + Compose | allTests, testAndroidHostTest, desktopTest |
aktual.module.viewmodel | KMP + Compose + VM | allTests, testAndroidHostTest, desktopTest |
aktual.module.di | KMP + DI | allTests, testAndroidHostTest, desktopTest |
aktual.module.jvm | JVM-only | test |
For KMP modules (kotlin/compose/viewmodel/di plugins):
| Source Sets Present | Recommended Task | Why |
|---|---|---|
Only commonTest | testAndroidHostTest | commonTest is compiled into both androidHostTest and desktopTest; pick one to avoid running twice. androidHostTest is preferred as it includes Robolectric support. |
Only androidHostTest (with or without commonTest) | testAndroidHostTest | Runs commonTest + androidHostTest together |
Only desktopTest (with or without commonTest) | desktopTest | Runs commonTest + desktopTest together |
Both androidHostTest and desktopTest | allTests | Need both targets to cover all tests |
commonTest + androidHostTest + desktopTest | allTests | Need both targets |
For JVM-only modules (aktual.module.jvm):
testExecute the Gradle task:
./gradlew :<gradle-module-path>:<task>
For example:
./gradlew :aktual-api:testAndroidHostTest./gradlew :aktual-account:vm:testAndroidHostTest./gradlew :aktual-budget:sync:vm:allTests./gradlew :aktual-app:desktop:testAfter running, report:
allTests or testAll at the project root level - this runs all tests across all modules and will overload the systemcommonTest exists, prefer testAndroidHostTest over desktopTest since it has Robolectric available for any Android-dependent codetestAll task (defined in ConventionTest.kt) is a convenience alias that depends on all Test-type tasks in the module - equivalent to allTests for KMP modules