ContiPerf es una librería opensource Java que permite usar los Test JUnit4 como Test de Rendimiento (gracias Luis ;))
Seguro que viendo este Test os hacéis una idea de a lo que me refiero:
ContiPerf está integrado con Maven y con Eclipse y no tiene ninguna dependencia aparte de junit4.
Requiere como mínimo JDK 1.5 y JUnit 4.7
Permite:
· Usar anotaciones Java para definir las características de la ejecución de un Test y los requisitos de rendimiento necesarios.
· Marcar un Test para que corra un cierto número de veces o durante un tiempo.
· Requisitos de tiempo permiten definir máximo, medio, tanto por ciento.
· Usar los test como test unitarios o como test de rendimiento.
· Exportar datos de ejecución con CSV
· Extenderlo.
Definiendo un atributo de tipo ContiPerfRule con la anotación @Rule se activa ContiPerf.
La anotación @PerfTest especifica los datos de ejecución, en el ejemplo 1000 veces con 20 hilos concurrentes.
![]()
La anotación @Required define que es tolerable un tiempo máximo de ejecución de 1.2 segundos y uno medio de 250 ms.
![]()
As small but important detail is, that ContiPerf makes a difference to the behavior, you might expect from JUnit:
A diferencia de cómo funciona JUnit ContiPerf crea una nueva instancia de Test por cada método de Test pero no por cada invocación (por tanto todas las invocaciones se hacen sobre la misma clase ya que el objetivo es testar el rendimiento). Por tanto el método @Before se llama al principio y después de invocarse 100 veces se llama al método @After.
También permite anotar la clase de Test en lugar de los métodos:
MAVEN:
Para poder lanzar Test ContiPerf desde Maven basta con añadir la dependencia:
<dependencies>
…
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.7</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.databene</groupId>
<artifactId>contiperf</artifactId>
<version>2.0.0</version>
<scope>test</scope>
</dependency>
</dependencies>
Si anotamos un Test unitario con ContiPerf por defecto al construir con Maven se invocará, se puede deshabilitar con la propiedad de sistema -Dcontiperf.active=false, en el caso de Maven con:
mvn test -DargLine="-Dcontiperf.active=false"
@PerfTest
@Required
Informes
Los informes de ContiPerf tienen este aspecto:







Replica a Perfidix: Haciendo Benchmarks de mi código Java de forma muy sencilla | Un poco de Java Cancelar la respuesta