/testez

BDD-style test and assertion library for Roblox Lua

Primary LanguageLuaApache License 2.0Apache-2.0

TestEZ

GitHub Actions Build Status Documentation
BDD-style Roblox Lua testing framework
 

TestEZ can run within Roblox itself, as well as inside Lemur for testing on CI systems.

We use TestEZ at Roblox for testing our apps, in-game core scripts, built-in Roblox Studio plugins, as well as libraries like Roact and Rodux.

It provides an API that can run all of your tests with a single method call as well as a more granular API that exposes each step of the pipeline.

Inspiration and Prior Work

The describe and it syntax in TestEZ is based on the Behavior-Driven Development methodology, notably as implemented in RSpec (Ruby), busted (Lua), Mocha (JavaScript), and Ginkgo (Go).

The expect syntax is based on Chai, a JavaScript assertion library commonly used with Mocha. Similar expectation systems are also used in RSpec and Ginkgo, with slightly different syntax.

Contributing

Contributions are welcome! See CONTRIBUTING.md for information.

License

TestEZ is available under the Apache 2.0 license. See LICENSE for details.