skip-testing
Installation
SKILL.md
Skip Testing
Skip supports parity testing — running the same tests on both iOS (Swift) and Android (Kotlin/JUnit) from a single test suite — through several different commands depending on the mode and how thorough you need to be.
How It Works
Skip Lite: Swift test files are transpiled to Kotlin/JUnit and run via Gradle. A test harness (XCSkipTests.swift) is auto-generated if not present and runs the Kotlin side via Robolectric by default.
Skip Fuse: Swift test files are compiled natively for Android via the Swift Android SDK and executed on device/emulator with skip android test. The auto-generated XCSkipTests harness does not apply to Fuse; use skip android test directly.
The four test runners
| Runner | Command | Where the Android side runs | Android APIs | Resource bundles | Speed |
|---|---|---|---|---|---|
| Lite Robolectric | swift test |
JVM on the host via Gradle + XCSkipTests harness |
Simulated by Robolectric | Yes | Fastest |
| Lite Instrumented | ANDROID_SERIAL=… swift test |
Android emulator / device via Gradle | Full | Yes | Slowest |
| Fuse CLI | skip android test |
Android emulator / device via adb shell |
None — bare Linux exec, no JVM/JNI | Yes (sidecar .resources) |
Fast |
| Fuse APK | skip android test --apk |
Android emulator / device, packaged as an APK | Full (real app process with JNI) | No — Bundle.module doesn't work |
Moderate |