Se cambiaron los comparadores predeterminados de archivos golden en las pruebas de integración en Android e iOS.
Al usar `package:integration_test` para ejecutar una prueba _en_ un dispositivo o emulador Android, o un dispositivo o simulador iOS, el `goldenFileComparator` predeterminado ha cambiado y utiliza correctamente el sistema de archivos del host.
Resumen
#A menos que se establezca un goldenFileComparator
definido por el usuario, ya sea manualmente en una
prueba o mediante un archivo flutter_test_config.dart, los dispositivos Android e iOS
y emuladores/simuladores tienen un nuevo valor predeterminado que actúa como proxy del sistema
de archivos del host local, corrigiendo un error antiguo (#143299).
Contexto
#El paquete integration_test, y su integración con
flutter_test,
ha tenido históricamente un error donde usar matchesGoldenFile
u APIs similares
arrojaba una FileSystemException.
Es posible que algunos usuarios hayan solucionado este problema escribiendo y usando un
goldenFileComparator personalizado:
import 'package:integration_test/integration_test.dart';
import 'package:my_integration_test/custom_golden_file_comparator.dart';
void main() {
goldenFileComparator = CustomGoldenFileComparatorThatWorks();
// ...
}
Dichas soluciones temporales ya no son necesarias y, si se comprueba el tipo del predeterminado, ya no funcionará como antes:
if (goldenFileComparator is ...) {
// The new default is a new (hidden) type that has not existed before.
}
Guía de migración
#En la mayoría de los casos, esperamos que los usuarios no tengan que hacer nada; esto será, en cierto sentido, una nueva funcionalidad que reemplaza a la funcionalidad que no funcionaba y causaba una excepción no controlada que hacía fallar la prueba.
En los casos en que los usuarios hayan escrito infraestructura de pruebas y comparadores personalizados, considera
en su lugar eliminar las sustituciones de goldenFileComparator
y basarte en
el (nuevo) valor predeterminado que debería funcionar como se espera:
import 'package:integration_test/integration_test.dart';
import 'package:my_integration_test/custom_golden_file_comparator.dart';
void main() {
goldenFileComparator = CustomGoldenFileComparatorThatWorks();
// ...
}
Dato curioso: Se reutilizó el código existente que se usaba para la plataforma web.
Timeline
#Introducido en la versión: 3.29.0-0.0.pre
Lanzamiento estable: 3.32
Referencias
#APIs relevantes:
flutter_test, que habla sobreflutter_test_config.darty sus capacidades.goldenFileComparator, que implementa la comparación y es configurable por el usuario.
Issues relevantes:
- Issue 143299, uno de los muchos reportes de usuarios sobre este error de larga data.
- Issue 160043, que explica con detalle técnico por qué
matchesGoldenFilefalló.
PRs relevantes:
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.