<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: jose pergolesi</title>
    <description>The latest articles on Forem by jose pergolesi (@josepergolesi).</description>
    <link>https://forem.com/josepergolesi</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F402715%2F4d463734-12ed-43d4-8ea9-66fd51f047a4.png</url>
      <title>Forem: jose pergolesi</title>
      <link>https://forem.com/josepergolesi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/josepergolesi"/>
    <language>en</language>
    <item>
      <title>Futter + Gitlab + unit test + CI</title>
      <dc:creator>jose pergolesi</dc:creator>
      <pubDate>Fri, 05 Jun 2020 21:48:53 +0000</pubDate>
      <link>https://forem.com/josepergolesi/futter-gitlab-unit-test-ci-3ip7</link>
      <guid>https://forem.com/josepergolesi/futter-gitlab-unit-test-ci-3ip7</guid>
      <description>&lt;h2&gt;
  
  
  Como lograr Integración continua usando Gitlab y desarrollando una app con Flutter?
&lt;/h2&gt;

&lt;h3&gt;
  
  
  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.
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Los pasos que seguí para lograr lo que me pidieron fueron los siguientes:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;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 &lt;strong&gt;unit_test&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Agregue &lt;strong&gt;test:&lt;/strong&gt; a las dependencias de desarrollo (dev_dependencies) en el archivo &lt;strong&gt;pubspec.yml&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="err"&gt;dev_dependencies:&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="err"&gt;test:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Cree un test básico de ejemplo para empezar a probar
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import  'package:test/test.dart';

void  main(){
    group('example two unit test', (){
        test('#sum' , (){
            expect(1+1, 2);
        });
        test('#sum' , (){
            expect(1+1, 2);
        });
    });
});
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Cree un archivo de configuración  en la carpeta raíz del proyecto llamado &lt;strong&gt;.gitlab-ci.yml&lt;/strong&gt; para implementar CI en gitlab con el siguiente contenido:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;image: cirrusci/flutter:stable

before_script:
  - flutter doctor

stages:
  - test

unit_test:
  stage: test

script:
  - flutter test
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Listo con eso ahora ya puedes  hacer un push en tu proyecto y veras algo parecido a esto
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fwy6efcsgewufzouwbpjf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fwy6efcsgewufzouwbpjf.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ahora en los próximos push que hagas van a correr esos dos test del ejemplo.&lt;/p&gt;

&lt;p&gt;Espero que sean de ayuda estas lineas.&lt;/p&gt;

&lt;p&gt;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&lt;/p&gt;

</description>
      <category>flutter</category>
      <category>ci</category>
      <category>test</category>
      <category>gitlab</category>
    </item>
  </channel>
</rss>
