contribución pruebas unitarias asynchronas

Iniciado por sapito169, 18 Julio 2019, 09:36 AM

0 Miembros y 1 Visitante están viendo este tema.

sapito169

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 (java) [Seleccionar]

package testingasync;

import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import org.junit.Test;
import static org.junit.Assert.*;

public class asyn_gretting_should_Test {

   private static interface Callback<T> {
       void call(T t);
   }

   private static class AssynGreating {

       public void sayHi(String name, Callback<String> callback) {
           new Thread(() -> callback.call("hi " + name)).start();
       }
   }

   @Test
   public void say_hi() throws InterruptedException {
       CountDownLatch countDownLatch = new CountDownLatch(1);
       StringBuilder stringBuilder = new StringBuilder();
       new AssynGreating().sayHi("luis", (name) -> {
           stringBuilder.append(name);
           countDownLatch.countDown();
       });
       countDownLatch.await(1, TimeUnit.SECONDS);
       assertEquals("hi luis", stringBuilder.toString());
   }
}



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

sapito169

no me castigues con el látigo de tu indiferencia con una respuesta pasivo agresiva es suficiente