-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
d5ff559
commit 3e87d92
Showing
4 changed files
with
79 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
position: 2 | ||
label: 'Testing' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
--- | ||
id: recomposition | ||
title: Recomposition | ||
sidebar_position: 1 | ||
--- | ||
|
||
# Recomposition | ||
|
||
The Compose Compiler plugin can generate reports / metrics around certain compose-specific concepts | ||
that can be useful to understand what is happening with some of your compose code at a fine-grained | ||
level. | ||
You can read more about | ||
it [here](https://github.com/androidx/androidx/blob/androidx-main/compose/compiler/design/compiler-metrics.md). | ||
|
||
To generate the reports / metrics, run the following Gradle command | ||
|
||
```shell | ||
./gradlew assembleDebug -PenableComposeCompilerReports=true | ||
``` | ||
|
||
This would generate the output at `<module>/build/compose_metrics`. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
--- | ||
id: screenshot-testing | ||
title: Screenshot testing | ||
sidebar_position: 2 | ||
--- | ||
|
||
# Screenshot Testing | ||
|
||
We are using [Paparazzi](https://cashapp.github.io/paparazzi/) for screenshot testing. | ||
|
||
## Screenshot testing | ||
|
||
```kotlin | ||
class InputChipSnapshotTest { | ||
|
||
@get:Rule | ||
val paparazzi = paparazzi() | ||
|
||
@Test | ||
fun launchChip() { | ||
paparazzi.snapshot { | ||
ColumnComponentContainer { | ||
InputChip(label = "Label", selected = false, badge = "3") | ||
InputChip(label = "Label", selected = true, badge = "3") | ||
} | ||
} | ||
} | ||
} | ||
``` | ||
|
||
## Running tests | ||
|
||
`./gradlew designsystem:testDebugUnitTest` | ||
|
||
Runs tests and generates an HTML report at `/build/reports/paparazzi/` showing all test runs | ||
and snapshots. | ||
|
||
## Saving golden images to repo | ||
|
||
`./gradlew designsystem:recordPaparazziDebug` | ||
|
||
Saves snapshots as golden values to a predefined source-controlled location (defaults to | ||
`/src/test/snapshots`). | ||
|
||
## Verifying | ||
|
||
`./gradlew designsystem:verifyPaparazziDebug` | ||
|
||
Runs tests and verifies against previously-recorded golden values. Failures generate diffs at | ||
`/build/paparazzi/failures`. |