Está en la página 1de 4

Ejecutables !jar", proyectos !

ant"
& pruebas unitarias !jUnit"
Progra OO 2009
Mecatrnica
Elisa
Creacin de un ejecutable
javac algo/HolaMundo.java
echo Main#Class: algo.HolaMundo > manifesto
jar cmf manifesto mundo.jar algo
java #jar mundo.jar
http://ant.apache.org/
herramientas de compilacin de proyectos
estructura d! proyecto expresado en XML
un archivo por proyecto, por lo menos una meta por
proyecto
metas estn compuestas por tareas
sudo apt#get install ant
Ejemplo simple
package algo;
public class HolaMundo $
public static void main!String%& args" $
System.out.println!"Hola, mundo."";
'
'
http://ant.apache.org/manual/tutorial"He#oWorldWithAnt.html
<project>
<target name="limpiar">
<delete dir="clases"/>
</target>
<target name="compilar">
<mkdir dir="clases"/>
<javac srcdir="codigo" destdir="clases"/>
</target>
<target name="jar">
<mkdir dir="jars"/>
<jar destle="jars/mundo.jar" basedir="clases">
<manifest>
<attribute name="Main#Class" value="algo.HolaMundo"/>
</manifest>
</jar>
</target>
<target name="ejecuta">
<java jar="jars/mundo.jar" fork="true"/>
</target>
</project>
build.xml
elisa@itlab#entry:~/temp( ant compilar
Buildle: build.xml
compilar:
%javac& Compiling 1 source le to /home/elisa/temp/clases
BUILD SUCCESSFUL
Total time: 0 seconds
elisa@itlab#entry:~/temp( ant jar
Buildle: build.xml
jar:
%mkdir& Created dir: /home/elisa/temp/jars
%jar& Building jar: /home/elisa/temp/jars/mundo.jar
BUILD SUCCESSFUL
Total time: 0 seconds
elisa@itlab#entry:~/temp( ant ejecuta
Buildle: build.xml
ejecuta:
%java& Hola, mundo.
BUILD SUCCESSFUL
Total time: 0 seconds
http://www.junit.org/
libreras para pruebas unitarias
permite realizar la ejecucin de clases para evaluar si se comporta
como deb!
comparacin de clases contra especicaciones
pruebas d! regresi!: despus de modicaciones al cdigo
$isualizacin de resultados %runners&
NetBeans y Eclipse cuentan co' plug"ins
sudo apt#get install junit
jUnit API
Paquete Propsito
org.juni( parte bsica
org.junit.runner ejecutar y analizar mltiples pruebas
org.junit.runner.manipulatio' ltrar y ordenar pruebas
org.junit.runner.noticatio' informacin sobre una corrida
org.junit.runners ejecutadores
Ejemplo simple
public class Calculadora $
static public int sumar!int a, int b" $
return !a + b";
'
static public int restar!int a, int b" $
return !a # b";
'
'
http://www.jaredrichardson.net/articles/junit"tutorial.html
Prueba unitaria
import junit.framework.*;
public class PruebaCalculadora extends TestCase $
public void testSumar!" $
int a = 3;
int b = 2;
int resultado= Calculadora.sumar!a, b";
assertEquals!resultado, a + b";
'
...
'
Compilacin & ejecucin
java #cp /usr/share/java/junit.jar:. junit.textui.TestRunner PruebaCalculadora
javac #cp /usr/share/java/junit.jar:. PruebaCalculadora.java
La salida de jUnit indica el nmero de pruebas aprobadas, el
nmero de pruebas reprobadas y el tiempo total, entre otras cosas.
Integracin en ant
<junit printsummary="yes" haltonfailure="yes" showoutput="yes" >
<classpath>
<pathelement path="($compilar'"/>
</classpath>
<batchtest fork="yes" todir="($reportes'/salida/">
<formatter type="xml"/>
<leset dir="($codigo'">
<include name="**/*Prueba*.java"/>
</leset>
</batchtest>
</junit>
Tarea para la semana siguiente
Un archivo build.xml para su proyecto
Un paquet! .jar ejecutabl# del estado actual de la
implementaci'
Un mnimo de dos clases d! pruebas unitarias para el
proyecto, con un mnimo de tres pruebas cada una %no es
necesario que la implementacin las apruebe todava&
Todo incluido en el sitio web del proyecto

También podría gustarte