-
LecciónLos peligros de Serializable
Serializable tiene una serie de problemas que hacen que, aunque nos intenten sugerir lo contrario, no deberíamos utilizarlo como método de almacenamiento primario a largo plazo de nuestros programas. El principal problema de Serializable es que no está pensado para almacenar a largo plazo y que cualquier atisbo de corrupción... -
LecciónEnvolviendo varios OutputStreams
Pequeño inciso: por supuesto que a un OutputStream que acepta otro OutputStream como parámetro, le puedes pasar como parámetro un OutputStream que acepta otro OutputStream como parámetro. Suena a trabalenguas, pero la cuestión es que puedes fabricar un FileOutputStream, pasarlo por dentro de un BufferedOutputStream, y pasarlo por dentro de... -
LecciónBufferedInputStream y rebobinado de streams
La idea de BufferedInputStream es que con una única llamada a read() podamos abarcar tanto como sea posible, para no tener que estar continuamente accediendo al stream que va por debajo. Lo importante es que con esto podemos usar métodos como mark() y reset() para poder rebobinar un stream -
LecciónReader, FileReader y BufferedReader
Del mismo modo, con Reader tenemos la posibilidad de leer del mundo exterior en forma de caracter o stream de texto. Por ejemplo, con FileReader se puede leer el texto de un archivo. Sin embargo, poca utilidad tendrá sin la ayuda de BufferedReader, para poder disponer de métodos más prácticos... -
LecciónInputStreamReader y OutputStreamWriter
Muchas clases de la biblioteca estandar de Java que generan streams, los hacen en modo byte, por lo que si vamos a querer leer o escribir en modo caracter, tendremos que pasar esos streams a través de InputStreamReader y de OutputStreamWriter, que son clases que sirven para hacer la traducción... -
LecciónPrintStream y PrintWriter
Cerramos con un par de clases interesantes, porque son impresoras. Permiten empujar, tanto a un stream de byte como a un stream de char, cadenas de caracteres de múltiples tipos. Puede que ya las hayas utilizado, porque System.out y System.err son PrintStreams. -
LecciónCreación de test suites con el runner Suite
Para este último episodio de mi taller de JUnit 4, os explico cómo se pueden correr varias pruebas unitarias, una detrás de otra, por medio del uso de los test suites. Con un test suite podemos agrupar varias clases que contienen pruebas similares, de tal forma que correr la clase... -
LecciónPruebas parametrizadas con Parameterized
En las pruebas parametrizadas, podemos conseguir que JUnit repita rápidamente una o varias pruebas unitarias sin tener que repetir la función, mediante el uso de casos de prueba que se proporcionan a través de una anotación. En JUnit 4, el runner Parameterized nos permite etiquetar una clase de tests como... -
LecciónAnotaciones BeforeClass y AfterClass
En este episodio nos centramos en dos anotaciones más: BeforeClass y AfterClass. La primera sirve para ejecutar código antes de cualquier prueba en una clase. AfterClass lo mismo pero después. Ambas se suelen usar típicamente para preparar recursos compartidos que son costosos de inicializar y que, por lo tanto, preferiríamos... -
LecciónExcepciones con expected y límites de tiempo con timeout
Dos propiedades de la anotación Test que nos permiten hacer pruebas avanzadas para algunos casos especiales. Con Expected podemos comprobar que dentro de un test se tira una excepción. Si le ponemos este atributo a una anotación Test, el test fallará si alcanza el final de la función y no...