Backend

Mock y Stub, pincelada de prueba unitaria

Viendo las dos primeras partes TDD Kata Markdown de Lean Mind me surgen dudas de conceptos que aún desconozco y buscando información, he decidido hacer un pequeño resumen de los conceptos y citar la fuente con el texto completo con ejemplos para una mejor comprensión.

Los Mocks, “son objetos preprogramados con expectativas que conforman la especificación de lo que se espera que reciban las llamadas”, es decir, son objetos que se usan para probar que se realizan correctamente llamadas a otros métodos, por ejemplo, a una web API, por lo que se utilizan para verificar el comportamiento de los objetos.

Los Stubs, “proporcionan respuestas predefinidas a ciertas llamadas durante los test, sin responder a otra cosa para la que no hayan sido programados”, es decir, los stubs son configurados para que devuelvan valores que se ajusten a lo que la prueba unitaria quiere probar, por lo que se utilizan para verificar el estado de los objetos.

Fuente: Blog de ITBLOGSOGETI

Enlace al Blog https://itblogsogeti.com/2015/03/26/desarrollo-pruebas-unitarias-trinitario-gomez-sogeti/

Arrays asociativos – Java

Hashtable

Una Hashtable es una estructura Java de tipo diccionario que nos permite almacenar elementos identificadospor pares clave/valor.

La estructura Hashtable está definida dentro del paquete  java.util por tanto hay que importar el paquete.

import java.util.Hashtable;

El constructor de Hashtable.

Hastable<String,String> paises = new = Hastable<String,String> ();

Para añadir elementos se usa el método .put(clave,valor).

paises.put("ES","España");

Para recuperar elementos usamos el método .get(clave).

System.out.println(paises.get("ES"));

Eliminar elementos con el método .remove(clave).

paises.remove("ES");

Para comprobar si una clave existe en el array asociativo se usa el método .containsKey(clave) y retorna true o false.

paises.containsKey("ES");

Para comprobar si un valor existe en el array asociativo se usa el método .contains(valor) y retorna true o false.

paises.contains("España");

Recorrer el array asociativo se hace con el método keys() y retorna un objeto de la clase Enumeration con todas las claves.

claves = paises.keys();

while (claves.hasMoreElements()){

Object clave = claves.NextElement();

Object valor = capitales.get(clave);

System.out.println("Pais " + clave.toString() + " Capital " + valor.toString());

{

También está el método .elements() que devuelve u objeto de la clase Enumeration con todos los valores del array asociativo y el método .values() que devuelve un objeto de la clase Collection con todos los valores del array asociativo.

Recorrer de forma ordenada el array asociativo se hace con el método keySet() y retorna un objeto de la clase Set con todas las claves. Para recorrer el objeto Set de forma ordenada lo convertimos a un array y lo ordenamos con el método .sort().

String[] claves = (String[]) capitales.keySet().toArray(new String[0]);

java.util.Arrays.sort(claves);

for (String clave : claves) {

System.out.println(clave + " : " + capitales.get(clave));

{

Enlace a más métodos de la clase Hashtable: http://w3api.com/Java/Hashtable/