Desaprobar containsSemantics en favor de isSemantics
El matcher `containsSemantics` ha sido deprecado en favor de los matchers `isSemantics` y `matchesSemantics`.
Resumen
#El matcher parcial containsSemantics está deprecado y ha sido reemplazado por
isSemantics para aclarar la intención y estandarizar las convenciones de los matchers.
Contexto
#El prefijo contains para matchers parciales, como containsSemantics, se ha
reemplazado con is para alinearse con las convenciones de nombres:
- Matchers parciales (como
isSemantics) coinciden solo con las propiedades proporcionadas explícitamente. Cualquier argumento no proporcionado se ignora. - Matchers exactos (como
matchesSemantics) verifican todos los valores. Se espera que cualquier argumento no proporcionado coincida con los valores predeterminados del objeto.
Guía de migración
#Para migrar automáticamente tu código, ejecuta el siguiente comando:
dart fix --apply
Alternativamente, reemplaza containsSemantics con isSemantics para coincidencia
parcial (el caso más común), o con matchesSemantics si necesitas verificar
valores de propiedad exactos (incluyendo los valores predeterminados para los argumentos omitidos).
Código antes de la migración:
expect(
tester.getSemantics(find.byType(MyWidget)),
containsSemantics(
label: 'My Widget',
isButton: true,
),
);
Código después de la migración:
expect(
tester.getSemantics(find.byType(MyWidget)),
isSemantics(
label: 'My Widget',
isButton: true,
),
);
Timeline
#Introducido en la versión: 3.40.0-1.0.pre
En la versión estable: 3.41
Referencias
#Documentación de la API:
Issues relevantes:
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.