Skip to content
forked from Bytebit-Org/fitumi

Fake It 'Till You Make It - A unit testing utility for faking dependencies in Lua

License

Notifications You must be signed in to change notification settings

Lobbyism/fitumi

 
 

Repository files navigation

Fake It 'Till You Make It

CI status PRs Welcome License: MIT Discord server

Fake It 'Till You Make It, or fitumi, is a Lua faking library intended for helping to create comprehensive unit tests for Lua code bases. While not required, fitumi was designed with Roblox development as the primary use-case. Fitumi's design is inspired in part by FakeItEasy.

Fitumi comes paired with TypeScript annotation files for easy installation into a roblox-ts project and is published to NPM under the @rbxts/fitumi package.

Links

Example

local fitumi = require(path.to.fitumi)
local a = fitumi.a

local fakeDependency = a.fake()
a.callTo(fakeDependency["foo"], fakeDependency, fitumi.wildcard):returns("bar")

local targetObject = TargetClass.new(fakeDependency)
targetObject:doSomething()

assert(a.callTo(fakeDependency["foo"], fakeDependency, fitumi.wildcard):didHappen(), "No call to foo happened")
assert(targetObject.fooResult == "bar", "targetObject's foo result does not match provided foo result")
assert(a.writeTo(fakeDependency, "expectedKey", "expectedValue"):didHappen(), "targetObject did not write \"expectedValue\" to \"expectedKey\"")

About

Fake It 'Till You Make It - A unit testing utility for faking dependencies in Lua

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Lua 100.0%