loading...

Futter + Gitlab + unit test + CI

josepergolesi profile image jose pergolesi ・2 min read

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:
  • 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);
        });
    });
});
  • 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

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

Posted on Jun 5 by:

josepergolesi profile

jose pergolesi

@josepergolesi

Me encanta programar y tratar de vivir de esto ya que a la hora de realizar trabajos los hago con entusiasmo y pasión.

Discussion

markdown guide
 

Gracias José, información muy útil.