Pular para o conteúdo principal
Versão: v3.x.x

Servidor Local

Vamos criar um servidor simples:

import { createServer } from 'node:http';

createServer((_, res) => {
res.writeHead(200, { 'Content-Type': 'application/json' });
res.end(JSON.stringify({ name: 'Poku' }));
}).listen(4000, () => console.log('ready'));

E agora, teste-o:

import { assert, startService } from 'poku';

const server = await startService('server.js', {
// Aguarde pelo "ready" na saída do console
startAfter: 'ready',
});

// Use a biblioteca de requisições que preferir
const res = await fetch('http://localhost:4000');
const data = await res.json();

assert.strictEqual(res.status, 200, 'O servidor está ativo');
assert.deepStrictEqual(data, { name: 'Poku' }, 'O Poku está aqui');

server.end();
Precisa testar usando uma sessão consistente? 🍪

Apenas faça isso 🚀

Aqui está um exemplo usando Axios:

import { assert, startService } from 'poku';
import axios from 'axios';
import axiosCookieJarSupport from 'axios-cookiejar-support';
import { CookieJar } from 'tough-cookie';

const server = await startService('server.js');

axiosCookieJarSupport(axios);

const cookieJar = new CookieJar();

export const api = axios.create({
withCredentials: true,
jar: cookieJar,
});

const { data } = await api.get('http://localhost:4000');

assert.deepStrictEqual(data, { name: 'Poku' }, 'O Poku está aqui');
dica
  • Biblioteca de requisições: Você pode usar Axios, Node Fetch ou qualquer outro que quiser 💙
  • Servidor: Você pode usar qualquer servidor que quiser, como Express, Koa, etc.
  • NextJS, ViteJS, nodemon e mais? Veja abaixo 👇🏻

Você também pode iniciar seu servidor usando o startScript.

import { assert, startScript } from 'poku';

const server = await startScript('start', {
// Aguarde pelo "ready" na saída do console
startAfter: 'ready',
});

// Use a biblioteca de requisições que você preferir.
const res = await fetch('http://localhost:4000');
const data = await res.json();

assert.strictEqual(res.status, 200, 'O servidor está ativo');
assert.deepStrictEqual(data, { name: 'Poku' }, 'O Poku está aqui');

server.end();
dica

Usando o startScript, você pode executar NextJS, SvelteJS, nodemon e todos os scripts que você sempre usou 🐷