Pruebas (testing) en Dart
Cómo probar aplicaciones de Flutter, web y VM.
Las pruebas de software (testing), una parte importante del desarrollo de aplicaciones, ayudan a verificar que tu app funcione correctamente antes de lanzarla. Esta guía de pruebas de Dart describe varios tipos de pruebas y te indica dónde puedes aprender a probar tus aplicaciones y scripts de Flutter, web, y del lado del servidor.
Puedes ejecutar pruebas en la línea de comandos
utilizando el comando dart test
(o, para aplicaciones Flutter, flutter test).
Tipos de pruebas
#Los documentos de pruebas de Dart se centran en tres tipos de pruebas, de entre los muchos tipos de pruebas con los que podrías estar familiarizado: unitarias (unit), de componentes (component) y de extremo a extremo (end-to-end, una forma de prueba de integración). La terminología de las pruebas varía, pero estos son los términos y conceptos con los que probablemente te encontrarás al utilizar tecnologías de Dart:
-
Las pruebas unitarias (unit tests) se centran en verificar la pieza de software comprobable más pequeña, como una función, un método o una clase. Tus conjuntos de pruebas (test suites) deberían tener más pruebas unitarias que otros tipos de pruebas.
-
Las pruebas de componentes (llamadas pruebas de widget en Flutter) verifican que un componente (que generalmente consta de múltiples clases) se comporte como se espera. Una prueba de componente a menudo requiere el uso de objetos simulados (mock objects) que puedan imitar acciones del usuario, eventos, realizar el diseño (layout) e instanciar componentes secundarios.
-
Las pruebas de integración y de extremo a extremo (end-to-end) verifican el comportamiento de una app completa o de una gran parte de ella. Una prueba de integración generalmente se ejecuta en un dispositivo simulado o real o en un navegador (para la web), y consta de dos partes: la app en sí y la app de prueba que pone a prueba a la app. Una prueba de integración a menudo mide el rendimiento, por lo que la app de prueba generalmente se ejecuta en un dispositivo o sistema operativo diferente al de la app que se está probando.
Bibliotecas de utilidad general
#Aunque tus pruebas dependen en parte de la plataforma a la que está destinado tu código (Flutter, la web o el lado del servidor, por ejemplo), los siguientes paquetes son útiles en todas las plataformas de Dart:
-
package:test
Proporciona una forma estándar de escribir pruebas en Dart. Puedes usar el paquete test para:- Escribe pruebas individuales o grupos de pruebas.
- Utiliza la anotación
@TestOnpara restringir que las pruebas se ejecuten en entornos específicos. - Escribe pruebas asincrónicas de la misma manera en que escribirías pruebas sincrónicas.
- Etiqueta las pruebas utilizando la anotación
@Tag. Por ejemplo, define una etiqueta para crear una configuración personalizada para algunas pruebas, o para identificar algunas pruebas que necesitan más tiempo para completarse. - Crea un archivo
dart_test.yamlpara configurar pruebas etiquetadas en múltiples archivos o en un paquete completo.
-
package:mockito
Proporciona una forma de crear objetos simulados (mock objects), fácilmente configurables para su uso en escenarios fijos, y de verificar que el sistema bajo prueba interactúe con el objeto simulado de las formas esperadas. Para ver un ejemplo que utiliza tanto package:test como package:mockito, consulta la biblioteca de la API de la Estación Espacial Internacional y sus pruebas unitarias en el paquete mockito.
Pruebas en Flutter
#Utiliza los siguientes recursos para obtener más información sobre las pruebas de aplicaciones Flutter:
- Probar aplicaciones Flutter
Cómo realizar pruebas unitarias, de widgets o de integración en una aplicación Flutter. - flutter_test
Una biblioteca de pruebas para Flutter construida sobre package:test. - flutter_driver
Una biblioteca de pruebas para probar aplicaciones de Flutter en dispositivos reales y emuladores (en un proceso separado). - flutter_gallery
Código fuente y pruebas para el ejemplo de la galería de Flutter. - flutter/dev/manual_tests
Muchos ejemplos de pruebas en el SDK de Flutter.
Otras herramientas y recursos
#También te pueden resultar útiles los siguientes recursos para desarrollar y depurar aplicaciones Dart.
IDE
#Cuando se trata de depuración, tu primera línea de defensa es tu IDE. Existen complementos (plugins) de Dart para muchos de los IDE de uso común.
Dart DevTools
#Dart DevTools es una suite de herramientas de rendimiento para Dart y Flutter. Para obtener detalles, consulta la documentación de Dart DevTools.
Integración continua
#Considera el uso de integración continua (CI) para compilar tu proyecto y ejecutar sus pruebas después de cada commit. Dos servicios de CI para GitHub son GitHub Actions y AppVeyor.
Obtén más información sobre GitHub Actions:
- Muchos paquetes proporcionados por el equipo de Dart utilizan GitHub Actions.
Para ver un ejemplo, consulta
markdown.yamlen el repositorio del paquete markdown. Para ver cómo migró ese repositorio de Travis CI a GitHub Actions, consulta la PR #353.
A menos que se indique lo contrario, la documentación en este sitio refleja Dart 3.12.2. Página actualizada por última vez el 2026-05-15. Ver fuente oreportar un problema.