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ć: