Download http://ant.apache.org/ Ejemplo simple
Document related concepts
no text concepts found
Transcript
Creación de un ejecutable Ejecutables !jar", proyectos !ant" & pruebas unitarias !jUnit" javac algo/HolaMundo.java echo “Main#Class: algo.HolaMundo” > manifesto jar cmf manifesto mundo.jar algo Progra OO 2009 Mecatrónica java #jar mundo.jar Elisa http://ant.apache.org/ herramientas de compilación de proyectos estructura d! proyecto expresado en XML un archivo por proyecto, por lo menos una meta por proyecto metas están 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> elisa@itlab#entry:~/temp( ant compilar Buildfile: build.xml <target name="limpiar"> <delete dir="clases"/> </target> compilar: %javac& Compiling 1 source file to /home/elisa/temp/clases <target name="compilar"> <mkdir dir="clases"/> elisa@itlab#entry:~/temp( ant jar BUILD SUCCESSFUL Buildfile: build.xml Total time: 0 seconds <javac srcdir="codigo" destdir="clases"/> </target> <target name="jar"> jar: %mkdir& Created dir: /home/elisa/temp/jars %jar& Building jar: /home/elisa/temp/jars/mundo.jar <mkdir dir="jars"/> <jar destfile="jars/mundo.jar" basedir="clases"> <manifest> <attribute name="Main#Class" value="algo.HolaMundo"/> elisa@itlab#entry:~/temp( ant ejecuta BUILD SUCCESSFUL Buildfile: build.xml Total time: 0 seconds </manifest> </jar> ejecuta: %java& Hola, mundo. </target> <target name="ejecuta"> <java jar="jars/mundo.jar" fork="true"/> </target> BUILD SUCCESSFUL Total time: 0 seconds build.xml </project> http://www.junit.org/ jUnit API librerías para pruebas unitarias Paquete Propósito permite realizar la ejecución de clases para evaluar si se comporta como deb! org.juni( parte básica comparación de clases contra especificaciones org.junit.runner ejecutar y analizar múltiples pruebas pruebas d! regresió!: después de modificaciones al código org.junit.runner.manipulatio' filtrar y ordenar pruebas org.junit.runner.notificatio' información sobre una corrida org.junit.runners ejecutadores $isualización de resultados %runners& NetBeans y Eclipse cuentan co' plug"ins sudo apt#get install junit 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"; ' ' 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"; ' ... ' http://www.jaredrichardson.net/articles/junit"tutorial.html Compilación & ejecución Integración en ant <junit printsummary="yes" haltonfailure="yes" showoutput="yes" > <classpath> <pathelement path="($compilar'"/> javac #cp /usr/share/java/junit.jar:. PruebaCalculadora.java </classpath> <batchtest fork="yes" todir="($reportes'/salida/"> <formatter type="xml"/> java #cp /usr/share/java/junit.jar:. junit.textui.TestRunner PruebaCalculadora <fileset dir="($codigo'"> <include name="**/*Prueba*.java"/> </fileset> La salida de jUnit indica el número de pruebas aprobadas, el número de pruebas reprobadas y el tiempo total, entre otras cosas. </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 mínimo de dos clases d! pruebas unitarias para el proyecto, con un mínimo de tres pruebas cada una %no es necesario que la implementación las apruebe todavía& Todo incluido en el sitio web del proyecto