Skip to content

Latest commit

 

History

History
35 lines (26 loc) · 1.93 KB

endpoint-testing.md

File metadata and controls

35 lines (26 loc) · 1.93 KB

Nota del traductor

Esta es la traducción del archivo endpoint-testing.md. Aquí hay un enlace a las diferencias con la rama master de AVA (Si al hacer clic en el enlace no se encuentran modificaciones en el archivo endpoint-testing.md, será por que la traducción está actualizada).


Testando un Endpoint

Traducciones: Español, Français, Italiano, 日本語, Portugués

AVA no trae un método integrado para testar endpoints, pero puedes usar cualquier biblioteca de aserción para ello. Vamos a usar supertest-as-promised.

Puesto que las pruebas se ejecutan concurrentemente, es mejor crear una instancia de servidor nueva para cada test, porque si hace referencia a la misma instancia podría mutar entre tests. Esto se puede lograr con 'test.beforeEach' y 't.context', o simplemente con una factoría:

function makeApp() {
	const app = express();
	app.post('/signup', signupHandler);
	return app;
}

A continuación, tan solo inyecta tu instancia de servidor en el supertest. El único consejo es usar una promesa o la sintaxis async/await en vez del método end de supertest:

test('signup:Success', async t => {
	t.plan(2);

	const res = await request(makeApp())
		.post('/signup')
		.send({email: 'ava@rocks.com', password: '123123'});

	t.is(res.status, 200);
	t.is(res.body.email, 'ava@rocks.com');
});