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 →