Usando Redis en Pruebas

Redis nos entrega un almacenamiento de estructuras de datos en memoria, claves y valores, geoespacial, ... y muchas otras cosas que lo hacen muy entretenido y útil. En esta entrada mostraré un ejemplo para utilizarlo en pruebas:


  • Comenzamos con la librería que no entregará redis embebido: 
            <dependency>
                <groupId>com.github.kstyrc</groupId>
                <artifactId>embedded-redis</artifactId>
                <version>0.6</version>
                <scope>test</scope>
            </dependency>
    
  • Luego agregamos el cliente:
            <dependency>
                <groupId>io.lettuce</groupId>
                <artifactId>lettuce-core</artifactId>
                <version>5.1.5.RELEASE</version>
            </dependency>
    
  • Agregamos nuestro test:
      @Test
      public void redisFuncionaLocalmenteEnPruebas() {
        var client = RedisClient.create("redis://localhost:6000");
        try (var con = client.connect()) {
          var sync = con.sync();
          sync.set("clave", "valor");
          assertThat(sync.get("clave")).isEqualTo("valor");
        }
      }
    
  • Y finalmente el código necesario para iniciar y cerrar Redis:
      private static RedisServer redisServer;
    
      @BeforeAll
      public static void iniciar() {
        redisServer = RedisServer.builder().port(6000).build();
        redisServer.start();
      }
    
      @AfterAll
      public static void finalizar() {
        redisServer.stop();
      }
    
    
Eso es todo, el código está disponible en Github 😉.

No hay comentarios.:

Publicar un comentario