Guides  ›  Testing  ›  HTTP requests ← PREV NEXT →

HTTP requests

Use port 0 for an available port and close the server after the test.

var { test } = require('node:test')
var assert = require('node:assert')
var server = require('@nodedk/server')

test('GET /', async function (t) {
  var app
  var port = await new Promise(function (resolve) {
    app = server({
      port: 0,
      workers: 1,
      routes: [{ paths: '/', handler: () => 'Hello!' }],
      ready: info => resolve(info.port)
    })
  })
  t.after(() => new Promise(resolve => app.close(resolve)))
  var response = await fetch('http://localhost:' + port)
  assert.equal(response.status, 200)
  assert.equal(await response.text(), 'Hello!')
})

Next: Server options →

Tools for business systems.