Foro de elhacker.net

Programación => Java => Mensaje iniciado por: sapito169 en 18 Julio 2019, 09:36 am



Título: contribución pruebas unitarias asynchronas
Publicado por: sapito169 en 18 Julio 2019, 09:36 am
esta es una contribución pequeña

Cuando haces prueba a código que es asynchrono junit  muestra mensaje inesperado y te manda al demonio mostrándote el dedo del medio como cuando le dices a la panchita que quieres hacer cosas indecorosas con ella

Este es un código de ejemplo de como hacer una prueba unitaria a código que es asynchrono

Código
  1. package testingasync;
  2.  
  3. import java.util.concurrent.CountDownLatch;
  4. import java.util.concurrent.TimeUnit;
  5. import org.junit.Test;
  6. import static org.junit.Assert.*;
  7.  
  8. public class asyn_gretting_should_Test {
  9.  
  10.    private static interface Callback<T> {
  11.        void call(T t);
  12.    }
  13.  
  14.    private static class AssynGreating {
  15.  
  16.        public void sayHi(String name, Callback<String> callback) {
  17.            new Thread(() -> callback.call("hi " + name)).start();
  18.        }
  19.    }
  20.  
  21.    @Test
  22.    public void say_hi() throws InterruptedException {
  23.        CountDownLatch countDownLatch = new CountDownLatch(1);
  24.        StringBuilder stringBuilder = new StringBuilder();
  25.        new AssynGreating().sayHi("luis", (name) -> {
  26.            stringBuilder.append(name);
  27.            countDownLatch.countDown();
  28.        });
  29.        countDownLatch.await(1, TimeUnit.SECONDS);
  30.        assertEquals("hi luis", stringBuilder.toString());
  31.    }
  32. }
  33.  
  34.  

pro favor den una respuesta aunque sea troll pero no me rachasen y no me respondan


Título: Re: contribución pruebas unitarias asynchronas
Publicado por: sapito169 en 18 Julio 2019, 19:01 pm
no me castigues con el látigo de tu indiferencia con una respuesta pasivo agresiva es suficiente