android / android/android-test
ActivityScenario: Custom instanciation
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Java
- Estrellas
- 1.2k
- Forks
- 342
- Merge medio
- 11 h 29 min
- PR fusionados (30 d)
- 2
Descripción
Description
The launch(Activity) method can't be customized very well, especially compared to launchFragmentInContainer / FragmentScenario. That makes it particularly hard to test / verify code that happens during onCreate(). In our example, a MainActivity (that contains the NavHostFragment for Jetpack Navigation) navigates to an on-boarding screen on first start.
Verifying this code is hard with the current ActivityScenario as the initial state can't be controlled and thus we can't properly mock / spy the navigation controller (Compared to how it can be done with FragmentScenario).
Expected Results
Ideally, launch(Activity) take a custom ActivityFactory or Lambda like launchFragmentInContainer that allows to customize activity creation. A convenience parameter to decide which state to launch into (i.e. CREATED, RESUMED) won't hurt either.
Link to a public git repo demonstrating the problem:
See https://issuetracker.google.com/issues/139695101
Versions
testImplementation("androidx.arch.core:core-testing:2.0.1")
testImplementation("androidx.test.espresso:espresso-core:3.2.0")
testImplementation("androidx.test.ext:junit-ktx:1.1.1")
testImplementation("io.mockk:mockk:1.9.3")
testImplementation("org.robolectric:robolectric:4.3")
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza por el punto de entrada ActivityScenario.launch(Activity) y compara sus opciones de personalización con launchFragmentInContainer y FragmentScenario. Define cómo deberían funcionar una ActivityFactory personalizada y un estado inicial opcional CREATED o RESUMED, y añade después cobertura para la creación de Activities personalizadas y un estado de ciclo de vida controlado.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- android, java
- Área
- mobile, testing
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100