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