Frisby es una libreria de testing de apis rest, desarrollada en nodejs y jasmine la cual facilita el test de apis restfull.

Para este ejemplo usare una api de ejemplo con json-server, la cual utilizo para crear los mockups de apis.

Primero defino mi package.json de mi proyecto de test para especificar las dependecias mi proyecto de test frisby , jasmine-node y json-server especifico que sea la ultima version (“latest”).


{
"name": "LabFrisby",
"author": "Dany Paredes",
"main": "users_spec.js",
"version": "0.0.1",
"dependencies": {
"frisby": "latest",
"jasmine-node": "latest",
"json-server": "latest"
}
}

Luego instalamos los paquetes:

npm install

Ahora creo el api de ejemplo db.json para ser utilizada con json-server

{
"users":[
{
"id": 1,
"user": "dany",
"password": "asdfasdf"
}
]
}

Para iniciar la api con json-server:

json-server db.json

Frisby contiene una serie de metodos que nos permiten validar nuestro test, expectStatus, expectHeader, expectHeaderContains, expectJSON y otros .

En este caso realizare utilizare el metodo expectStatus, donde especificamos que esperamos un 200 como resultado.

var SERVER = "http://localhost:3000/"
var APIUSERS = "users"
frisby.create('GET USERS')
.get(SERVER + APIUSERS)
.expectStatus(200)
.toss();

Ahora ejecutamos nuestro tests con jasmine:

jasmine-node tests/rest_proyect_spec.js
//para ejecutar todos los test que tengamos en el folder spec
jasmine-node /api/spec

En el ejemplo de github tengo uno mas completo en el cual realizamos un post y valido el json de respuesta.
https://github.com/danywalls/labfrisby

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *