Our Blog

Chance: Generando datos aleatorios

Cuantas veces mientras desarrollamos nuestros sitios nos topamos con el problema que tenemos que generar datos falsos para llenar algún formulario o enviar hacia la parte encargada de procesar cierta información datos falsos con el fin de chequear que todo esta funcionando correctamente. En muchos casos para solucionar estos problemas se colocan datos ya cargardos dentro de nuestro código pero como todos ya sabemos esos datos no varían nunca, si queremos que los mismos cambien es nuestra responsabilidad buscarlos y cambiarlos.

Todas situaciones han dado origen a Chance la cual nos provee generación de cierto tipo de datos de forma aleatorio.

¿Que es?

Chance es una librería open-source de javascript la cual se encarga de la generación de forma aleatoria de números, fechas, strings (con distintos tipos de formatos: nombres, apellidos, etc) lo cual nos ayuda a reducir la monotonía de usar siempre los mismos datos tanto para realizar algún tipo de prueba en nuestras aplicaciones.

Algunos de los datos que nos genera Chance son:

  • Básicos: como pueden ser datos del tipo boolean, integer, double, string (cabe resaltar que en este caso son cadenas sin ningún tipo de sentido).
  • Textos: como pueden ser párrafos enteros o simples sentencias.
  • Personas: nos permite generar distintos tipos de datos como son el nombre, edad, fecha de nacimiento, genero.
  • Dispositivos moviles: en este caso nos genera lo que serian los códigos de cada unos de los device (android_id, apple_token, bb_pin, wp8_anid)
  • Web: aquí esta todo lo relacionado con el mundo web como lo son colores (en hexadecimal), dominios en internet, emails, twiiter, ip, hastags.
  • Direcciones: esto nos permitirá tanto generar nombres de calles, códigos postales, ciudades, provincias o estados y paises.

¿Como lo instalo?

Existen varias formas de poder descargar la librería para poder ser utilizada, aquí es donde hay una gran ventaja, para ello veamos las 3 mas comunes:

  • Manualmente desde este link
  • Bower (que para quienes no lo conozcan es un gestor de dependencias, que nos ayuda a bajar de forma automatica los frameworks o librerias relacionadas con JavasScript)
bower install chance
  • Npm (es un manager de paquetes de javascript al igual que Bower, solo que este es el que usa por default Node.js)
npm install chance

Si se opta por alguna de las dos ultimas opciones y ya se cuenta con los correspondientes archivos de dependencias, se debe agregar a los comandos que se mencionaron el –save para que la librería no se descargue solo en nuestra maquina sino que se descargue en la del resto de los desarrolladores cuando ejecuten el comando bower install o npm install.

Una vez hecho esto solo nos queda incluirla dentro de nuestro HTML para que la misma sea cargada (esto siempre que no se use Nodejs).

<!-- Cargando Chance -->
<script type="text/javascript" src="directorio/chance/chance.js"></script>

En el caso de que usemos Nodejs podemos utilizar la funcion require

// Cargando Chance
var Chance = require('chance');

¿Como lo uso?

La forma de uso de esta librería es bastante simple, tan solo se necesita declarar un nuevo objeto del tipo Chance (no es obligatorio, tan solo es una buena practica):

var chance = new Chance();

Ahora veamos como por ejemplo generar ciertos datos:

  • Nombre: esto generara nombres completos de forma random. Ademas por medio de un parámetro se le podrá indicar que también nos genere el segundo nombre.
chance.name();
=> 'Alex Vatemi'

chance.name({ middle: true });
=> 'John Jay Heup'
  • Edad: este tipo de datos soporta valores que van de entre 1 a 120 permitiendo indicarle por medio de parámetros el tipo de persona que es (niño, adolescente, adulto, anciano) y en función de eso generara un valor entre un rango.
chance.age();
=> 50

chance.age({type: 'child'}); // tipos: child, teen, adult, senior
=> 5
  • Fecha de nacimiento: al igual que con la edad se puede indicar el tipo de persona que es, indicarle el formato del mismo como así también los valores máximos o mínimos.
chance.birthday({string: true, american: false});
=> '28/6/1993'
  • Email: aqui podremos dejar que genere un email de forma aleatoria incluyendo el dominio del mismo (o sea lo que viene después del @) o podremos indicarle cual es el dominio a partir del cual generarlo.
chance.email({domain: 'teraswap.com'});
=> 'sdad@adsd.com'

chance.email({domain: 'teraswap.com'});
=> 'giigjom@teraswap.com'
  •  Telefono: este tipo de datos tiene la posibilidad de generar tanto un teléfono de linea como uno movil. La limitancia que presenta es que solo soporta teléfonos de Estados Unidos, Francia y Gran Bretaña.
chance.phone();
=> '(494) 927-2152'

chance.phone({ country: 'fr' });
=> '01 60 44 92 67'

chance.phone({ country: 'uk', mobile: true });
=> '07624 321221'

Mas allá de la explicación que hemos dado en este post dejamos en este link un ejemplo donde se cargan datos de una persona dinamicamente.

Conclusion

Chance nos ofrece una buena alternativa a la hora de generar datos aleatorios, la misma ha estado mejorando versión a versión incluyendo nuevas funcionalidades. El uso de la misma como se ha visto en este post es bastante sencillo e intuitivo lo cual facilita su uso.

No comments
TeraswapChance: Generando datos aleatorios

Related Posts