2. Los assertion en Java son afirmaciones que nosotros podemos hacer en código y permiten realizar pruebas sobre escenarios reales de ejecución.
Fueron agregados a java desde la versión 1.4.
Los assertion se pueden habilitar y deshabilitar desde los argumentos de ejecución de nuestra aplicación.
Los assertion contienen como parámetro una expresión booleana que siempre debe ser true para que el assertion se cumpla, en caso de que no se cumpla el assertion se lanza un AssertionError.
www.mentoringit.com.mx
3. Primera forma para declarar un assert. assert Expression1 ;
Donde Expression1 es una expresión que devuelve un valor booleano.
Cuando se ejecuta el código con el assertion declarado arriba se evalúa Expression1 y si esta devuelve false, entonces el sistema lanza un AssertionError sin detalles del error.
Segunda forma para declarar un assert.
assert Expression1 : Expression2 ;
Donde
Expression1 : es una expresión booleana.
Expression2 : es una expresión con descripción adicional del error y esta expresión se pasa al constructor de AssertionError el cual espera un String en el constructor.
www.mentoringit.com.mx
4. Para habilitar los assertions en java se pueden ejecutar las aplicaciones de las siguientes formas:
Habilitar los assertions para el programa BatTutor solo en el paquete com.wombat.fruitbat y sus subpaquetes.
java -ea:com.wombat.fruitbat... BatTutor
Habilitar los assertions para el programa BatTutor solo en el paquete fruitbat pero deshabilitadas para la clase BrickBat.
java -ea:com.wombat.fruitbat... -da:com.wombat.fruitbat.Brickbat BatTutor
Habilitar y deshabilitar los assertions para las clases de sistema.
java -esa -ea:com.wombat.fruitbat...
java -dsa -ea:com.wombat.fruitbat...
www.mentoringit.com.mx
5. No utilizar assertion para verificar argumentos de métodos públicos.
No utilizar assertion para realizar algún trabajo que la aplicación realizara en tiempo de ejecución.
Los assertion por default están deshabilitados.
En java 1.3 los assert aun no existían así que es permitido en esta versión de java utilizar assert como identificador, sin embargo se muestran warnings donde se estén utilizando al momento de compilar.
En java 1.4 o superior assert no esta permitido como identificador, en caso de que existan en el código, un error es enviado al momento de compilar.
www.mentoringit.com.mx