¿Hay alguna herramienta o forma de probar que la recomposición ocurre en una pieza de código o no en la composición de Jetpack?
Hay un ejemplo aquí en los documentos oficiales de Compose Testing sobre cómo puede probar si se lleva a cabo una recomposición, usando composeTestRule.setContent , y en él rastrear el estado con una variable visible desde la prueba.
Luego cambia el estado de la prueba y afirma que la variable de seguimiento es igual al estado esperado.
@Test fun counterTest() { val myCounter = mutableStateOf(0) // State that can cause recompositions var lastSeenValue = 0 // Used to track recompositions composeTestRule.setContent { Text(myCounter.value.toString()) lastSeenValue = myCounter.value } myCounter.value = 1 // The state changes, but there is no recomposition // Fails because nothing triggered a recomposition assertTrue(lastSeenValue == 1) // Passes because the assertion triggers recomposition composeTestRule.onNodeWithText("1").assertExists() } Este ejemplo se usa para mostrar un caso límite en Compose-Testing para cuando no usa métodos para la sincronización de UI en su prueba (como, por ejemplo onNodeWithText().assertExists() ), pero creo que también podría ser útil para su problema.