A Kotlin library to automatically generate mock data in Jetpack Compose @Previews using KSP.
- Automatic generation
PreviewParameterProvider - Nested data class support
- Custom annotations:
@LongMessagePreview,@ShortMessagePreview, etc. - Centralized configuration via
ComposePreviewMockConfig - Compatible with KSP + KotlinPoet
add KSP plugin in your build.gradle.kts :
plugins {
id("com.google.devtools.ksp") version "1.9.22-1.0.16"// update with your kotlin version
}and add to dependencies :
dependencies {
ksp("com.recisio.compose-mock-preview:1.0.0")
implementation("com.recisio.compose-mock-preview:1.0.0")
}@ComposeMockPreviewProvider
data classTestComposable(
valtitle:String,
@LongMessagePreview valdescription:String,
valimageRes:Int,
valnested:NestedData
)@ComposeMockPreviewConfiguration
classAppMockConfiguration : ComposeMockPreviewConfig {
overrideval longMessageList:List<String> =listOf("Very very long message")
overrideval shortMessageList:List<String> =listOf("short message")
overrideval resMessageList:List<Int> =listOf(R.string.app_name)
overrideval resDrawableList:List<Int> =listOf(R.drawable.ic_launcher_background)
overrideval resColorList:List<Int> =listOf(R.color.purple_700)
}@PreviewLightDark
@Composable
funTestComposablePreview(@PreviewParameter(TestComposablePreviewProvider::class) parameter:TestComposable) {
TestCompose(parameter)
}| Module | Description |
|---|---|
com.recisio.compose-mock-preview | Annotations KSP (@ComposeMockPreviewProvider) + KSP PreviewParameterProvider auto generate file |
MIT © Recisio