Restablecimiento del estado de TestTextInput
El estado de TestTextInput ahora se restablece entre pruebas.
Resumen
#El estado de una instancia de TestTextInput,
un simulador (stub) para el teclado en pantalla del sistema,
ahora se restablece entre pruebas.
Contexto
#El framework de pruebas de Flutter utiliza una clase llamada TestTextInput
para rastrear y manipular el estado de edición en una prueba de widgets.
Las pruebas individuales pueden realizar llamadas que modifiquen el estado
interno de este objeto, a veces de forma indirecta (como
al establecer sus propios manejadores en SystemChannels.textInput).
Las pruebas posteriores podrían entonces comprobar el estado de
WidgetTester.testTextInput y obtener valores inesperados.
Descripción del cambio
#El estado de WidgetTester.testTextInput
ahora se restablece antes de ejecutar una prueba de testWidgets.
Guía de migración
#Las pruebas que dependían del estado sucio (dirty state) de una prueba ejecutada previamente
deben actualizarse. Por ejemplo, la siguiente prueba,
de packages/flutter/test/material/text_field_test.dart
en la prueba 'Controller can update server',
anteriormente pasaba debido a una combinación de estado sucio
de pruebas anteriores y a un fallo al establecer realmente el estado
en casos en los que debería haberse establecido.
Código antes de la migración:
En una widgetsTest, antes de cambiar realmente el texto en un
widget de edición de texto, esta llamada podría haber tenido éxito:
expect(tester.testTextInput.editingState['text'], isEmpty);
Código después de la migración:
Elimina la llamada por completo o considera usar lo siguiente para asegurar (assert) que el estado no se ha modificado aún:
expect(tester.testTextInput.editingState, isNull);
Timeline
#Lanzado en la versión: 1.16.3
En versión estable: 1.17
Referencias
#Documentación de la API:
Problema relevante:
PR relevante:
A menos que se indique lo contrario, la documentación de este sitio refleja Flutter 3.44.0. Página actualizada por última vez el 2026-05-05. Ver código fuente oreportar un problema.