Variables de Entorno y Sistema en Pruebas

Es común tener que definir variables de ambiente o propiedades del sistema para lanzar una aplicación, por tal motivo ahora muestro un ejemplo que permite utilizar nuestro archivo POM para definir estas variables y usarlas en pruebas:

  • Definir variables de entorno (en linux es export clave1=valor1)
    <environmentVariables>
      <clave1>valor1</clave1>
      <clave2>valor2</clave2>
      <clave3>valor3</clave3>
    </environmentVariables>

  • Definir propiedades del sistema (de la forma -Dclave2=valor2)
    <systemProperties>
      <clave4>valor4</clave4>
      <clave5>valor5</clave5>
      <clave6>valor6</clave6>
    </systemProperties>
  • Sección completa: 
    <project ...>
        ...
        <build>
            <plugins>                        
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.22.1</version>
                    <configuration>
                        <environmentVariables>
                            <clave1>valor1</clave1>
                            <clave2>valor2</clave2>
                            <clave3>valor3</clave3>
                        </environmentVariables>
                        <systemProperties>
                            <clave4>valor4</clave4>
                            <clave5>valor5</clave5>
                            <clave6>valor6</clave6>
                        </systemProperties>
                    </configuration>
                </plugin>            
            </plugins>
        </build>
    </project>
  • Luego las pruebas para obtener los valores:
@Test
  public void variablesDeAmbienteDefinidas() {
    assertThat(System.getenv("clave1")).isEqualTo("valor1");
    assertThat(System.getenv("clave2")).isEqualTo("valor2");
    assertThat(System.getenv("clave3")).isEqualTo("valor3");
  }

  @Test
  public void propiedadesDefinidas() {
    assertThat(System.getProperty("clave4")).isEqualTo("valor4");
    assertThat(System.getProperty("clave5")).isEqualTo("valor5");
    assertThat(System.getProperty("clave6")).isEqualTo("valor6");
  }


Eso es todo 😀, el código está disponible en Github.

No hay comentarios.:

Publicar un comentario