Skip to content

Latest commit

 

History

History
37 lines (26 loc) · 2.14 KB

endpoint-testing.md

File metadata and controls

37 lines (26 loc) · 2.14 KB

Testy endpoint

Tłumaczenie: Español, Français, Italiano, 日本語, Português, Русский, 简体中文

AVA nie ma wbudowanej metody testowania punktów końcowych, ale możesz na przykład użyć dowolnego wybranego klienta HTTP got. Będziesz także musiał uruchomić serwer HTTP, najlepiej na unikalnym porcie, abyś mógł równolegle uruchamiać testy. Do tego zalecamy test-listen.

Ponieważ testy są uruchamiane jednocześnie, najlepiej jest utworzyć nową instancję serwera przynajmniej dla każdego pliku testowego, ale być może nawet dla każdego testu. Można to osiągnąć za pomocą hooków test.before() i test.beforeEach() oraz t.context. Jeśli uruchomisz serwer za pomocą hooka test.before() powinieneś upewnić się, że testy wykonujesz szeregowo.

Sprawdź poniższy przykład:

const http = require('http');
const test = require('ava');
const got = require('got');
const listen = require('test-listen');
const app = require('../app');

test.before(async t => {
	t.context.server = http.createServer(app);
	t.context.baseUrl = await listen(t.context.server);
});

test.after.always(t => {
	t.context.server.close();
});

test.serial('get /user', async t => {
	const res = await got('/user', { baseUrl: t.context.baseUrl, json: true });
	t.is(res.body.email, '[email protected]');
});

Inne biblioteki, które mogą Ci się przydać: