Todo esto lo podremos lograr con JUnitPerf, una colección de decoradores para medir la performance de tests JUnit.
Por ejemplo, si tenemos un JUnit SimpleTest con el método testAnything:
public class SimpleTest extends TestCase {podemos hacer una clase de test que pruebe la performance del método testAnything creando un nuevo JUnit y utilizando los decoradores de JUnitPerf:
...
public void testAnything() throws Exception {
...
}
}
public class SimpleResponseTimeTest {En este caso el test fallará si dura mas de 0,5 segundos.
public static Test suite() {
long maxTime = 500;
Test test = new SimpleTest("testAnything");
Test timedTest = new TimedTest(test, maxTime);
return timedTest;
}
public static void main(String args[]) {
junit.textui.TestRunner.run(suite());
}
}
También podemos medir la performance simulando una carga de usuarios concurrentes, como en este ejemplo:
public class SimpleLoadTest {A las clases LoadTest y TimerTest se le puede pasar también una instancia de RepeatedTest, para medir no sólo una ejecución del test sinó varias, por ejemplo:
public static Test suite() {
long maxTime = 500;
int concurrentUsers = 5;
Test test = new SimpleTest("testAnything");
Test timedTest = new TimedTest(test, maxTime);
Test loadTest = new LoadTest(timedTest, concurrentUsers);
return loadTest;
}
public static void main(String args[]) {
junit.textui.TestRunner.run(suite());
}
}
public class SimpleLoadTest {Para mas opciones sobre la herramienta, no queda mas que visitar la web de JUnitPerf, o este otro artículo: Continuous Performance Testing With JUnitPerf.
public static Test suite() {
int users = 10;
int iterations = 20;
Timer timer = new ConstantTimer(500);
Test test = new SimpleTest("testAnything");
Test repeatedTest = new RepeatedTest(test, iterations);
Test loadTest = new LoadTest(repeatedTest, users, timer);
return loadTest;
}
public static void main(String args[]) {
junit.textui.TestRunner.run(suite());
}
}
1 comentario:
Saludos
No se donde poner esto. He estado buscando por muchos sitios y no encuentro nada y tengo una duda me gustaría saber como puedo hacer imagino que será con java lo típico q sale en muchas páginas de enviar noticia a un amigo si me pudieras ayudar.
Gracias de antemano
Publicar un comentario