mockth

Package Version Hex Docs

Gleam modules mocking library. This is a simple wrapper around Erlang Meck library.

gleam add mockth

Usage

It provides a simple API to mock Gleam modules and functions. All you need to use mockth.expect function to mock any external function with your own implementation.

import gleeunit
import gleeunit/should
import gleam/function
import mockth

pub fn main() {
 gleeunit.main()
}

pub fn expect1_test() {
 let assert Ok(_) =
   mockth.expect1("gleam/function", "identity", fn(_) { "hello" })

 mockth.validate("gleam/function")
 |> should.equal(True)

 mockth.mocked()
 |> should.equal(["gleam/function"])

 function.identity("world")
 |> should.equal("hello")

 mockth.unload_all()
}

Don’t forget to unload all mocks after each test case.

Further documentation can be found at https://hexdocs.pm/mockth.

Development

gleam run   # Run the project
gleam test  # Run the tests
gleam shell # Run an Erlang shell
Search Document