superfetch

GitHub Workflow Status Codecov

HTTP Server testing library inspired by node-supertest-fetch.

Example

Basic testing

import { describe, it } from 'jsr:@std/testing/bdd'
import { makeFetch } from 'jsr:@deno-libs/superfetch'

describe('makeFetch', () => {
  it('should work with HTTP handler', async () => {
    const handler = (res) => new Response('Hello World')

    const fetch = makeFetch(s)

    const res = await fetch('/')
    
    res.expect('Hello World')
  })

run()

Full access to Response and port

import { describe, it } from 'jsr:@std/testing/bdd'
import { makeFetch } from 'jsr:@deno-libs/superfetch'

describe('makeFetch', () => {
  it('should work with HTTP handler', async () => {
    const handler = (res) => new Response('Hello World')

    const fetch = makeFetch(s)

    const res = await fetch('/')
    
    res.expect('Hello World')
    console.log(res) // server response object
    console.log(res.port) // port on which the server was listening
  })

run()