DEV Community

jose pergolesi
jose pergolesi

Posted on

3 2

Futter + Gitlab + unit test + CI

Como lograr Integración continua usando Gitlab y desarrollando una app con Flutter?

En el proyecto que estoy trabajando actualmente me pidieron que comience a realizar pruebas unitarias para la app y que se ejecuten en cada merge request antes de fusionar los cambios a la rama master.

Hasta el momento nunca había realizado test en Flutter, por lo que me puse a leer la documentacion ver videos en youtube y leer muchos post.

Los pasos que seguí para lograr lo que me pidieron fueron los siguientes:

  • Dentro de la carpeta test que esta en la raíz del proyecto cree una nueva carpeta solo para las pruebas unitarias con el nombre unit_test.

  • Agregue test: a las dependencias de desarrollo (dev_dependencies) en el archivo pubspec.yml

dev_dependencies:
    test:
Enter fullscreen mode Exit fullscreen mode
  • Cree un test básico de ejemplo para empezar a probar
import  'package:test/test.dart';

void  main(){
    group('example two unit test', (){
        test('#sum' , (){
            expect(1+1, 2);
        });
        test('#sum' , (){
            expect(1+1, 2);
        });
    });
});
Enter fullscreen mode Exit fullscreen mode
  • Cree un archivo de configuración en la carpeta raíz del proyecto llamado .gitlab-ci.yml para implementar CI en gitlab con el siguiente contenido:
image: cirrusci/flutter:stable

before_script:
  - flutter doctor

stages:
  - test

unit_test:
  stage: test

script:
  - flutter test
Enter fullscreen mode Exit fullscreen mode

Listo con eso ahora ya puedes hacer un push en tu proyecto y veras algo parecido a esto

Alt Text

Ahora en los próximos push que hagas van a correr esos dos test del ejemplo.

Espero que sean de ayuda estas lineas.

Este es mi primer post y espero empezar a compartir cosas sobre flutter con las que me vaya topando y resolviendo que considere que puedan llegar a ser útiles a otras personas a la hora de enfrentarse a los mismos problemas

Image of Datadog

The Essential Toolkit for Front-end Developers

Take a user-centric approach to front-end monitoring that evolves alongside increasingly complex frameworks and single-page applications.

Get The Kit

Top comments (1)

Collapse
 
maginkgo profile image
Marcos Alejandro

Gracias José, información muy útil.

Qodo Takeover

Introducing Qodo Gen 1.0: Transform Your Workflow with Agentic AI

Rather than just generating snippets, our agents understand your entire project context, can make decisions, use tools, and carry out tasks autonomously.

Read full post

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay