sergio-sastre / AndroidUiTestingUtils

A set of TestRules, ActivityScenarios and utils to facilitate UI and screenshot testing under given configurations: FontSizes, Locales...
MIT License
285 stars 14 forks source link

Release/2.0.1 #83

Closed sergio-sastre closed 8 months ago

sergio-sastre commented 8 months ago
  1. Add support for Robolectric/Roborazzi tests to under multiple devices and configs
    companion object {
    @JvmStatic
    @ParameterizedRobolectricTestRunner.Parameters
    fun testItemProvider(): Array<TestDataForComposable<MyEnum>> =
      TestDataForComposableCombinator(
         uiStates = MyEnum.values()
      )
         .forDevices(
            PIXEL_4A,
            MEDIUM_TABLET,
         )
         .forConfigs(
            ComposableConfigItem(uiMode = DAY),
            ComposableConfigItem(uiMode = NIGHT),
         )
         .combineAll()
    }
  2. Easier Roborazzi tests with RobolectricActivityScenarioForComposable() with com.github.sergio-sastre.AndroidUiTestingUtils:roborazzi:2.0.1 dependency:
    robolectricActivityScenarioForComposableRule.captureRoboImage(
    filePath("CoffeeDrinkListComposable_${testItem.screenshotId}")
    ) {
    AppTheme {
      CoffeeDrinkList(coffeeDrink = testItem.uiState.drink)
    }
    }
  3. More Robolectric devices to use with RobolectricActivityScenarios
    • Desktops: small, medium and large desktop
    • Tablets: medium tablet
    • Phones: small and medium phone