Execute Luau tests on Roblox Cloud
Project description
Roblox Test Runner
Roblox Test Runner is a powerful CLI tool designed to execute Luau tests (TestEZ) directly on Roblox Cloud. It allows you to run unit tests from your local machine and see the results instantly, integrating seamlessly into your development workflow.
Features
- 🚀 Run Tests on Cloud: Execute tests in a live Roblox server environment.
- 📦 Rojo Integration: Automatically respects your
default.project.jsonstructure. - ⚙️ Configurable: Use
roblox-test-runner.tomlto customize paths, timeouts, and more. - 🔄 Watch Mode: Automatically re-run tests when files change (
-w). - 🤖 CI/CD Ready: Native support for GitHub Actions authentication.
Installation
pip install roblox-test-runner
Quick Start
-
Initialize Configuration:
roblox-test-runner initThis creates a
roblox-test-runner.tomlfile. -
Set API Key (for local development):
roblox-test-runner set-api <YOUR_API_KEY>
-
Run Tests:
roblox-test-runner runor watch for changes:
roblox-test-runner run --watch
Usage
Commands
run [test_name]: Run tests. omittest_nameto run all.-v, --verbose: Show full logs.-w, --watch: Watch mode.-j, --json: JSON output.
init: Create default configuration.config: View current configuration.set-api <key>: Save API key.auth: CI/CD authentication helper.
Configuration (roblox-test-runner.toml)
[runner]
timeout = 60
tests_folder = "tests"
[project]
rojo_project = "default.project.json"
Environment & Debugging
Execution Environment
Tests run in a Roblox Cloud headless environment. This has some important limitations:
- No Physics Simulation: Gravity and physics stepping do not run automatically.
- Headless: No visual rendering.
- Script Context: Tests run inside a temporary script, often referred to as
TaskScript.
Debugging
The runner automatically maps stack traces from the bundled TaskScript back to your original source files (supported for .luau files managed by Rojo).
- If you see
TaskScript:123, update to the latest version to seesrc/my_script.server.luau:45. - Use
print()debugging freely; logs are streamed back to your terminal.
API Keys
API keys can be provided in three ways (checked in order):
- CLI Argument:
roblox-test-runner run --key <KEY>(mostly for CI) - Environment Variable:
ROBLOX_API_KEY - User Configuration: Saved via
roblox-test-runner set-api <KEY>(stored in your user home directory, not project)
Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file roblox_test_runner-0.2.6.tar.gz.
File metadata
- Download URL: roblox_test_runner-0.2.6.tar.gz
- Upload date:
- Size: 32.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a6092287ee84f5f03f6b430f47f68da53874de814cc5f8cd97d8da51a6479de9
|
|
| MD5 |
ef4d07af409a4b4ce43b469ecb07afb8
|
|
| BLAKE2b-256 |
4d7ce92ab89e93a30ae7b6fb1095360ee970df772d6bcab1e37295185824b4f9
|
File details
Details for the file roblox_test_runner-0.2.6-py3-none-any.whl.
File metadata
- Download URL: roblox_test_runner-0.2.6-py3-none-any.whl
- Upload date:
- Size: 41.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b9dff5de3275595a81b408859d4412627304ebb3464270deebd241680143193a
|
|
| MD5 |
71386d6fe627fb2e06ec37d6feadf682
|
|
| BLAKE2b-256 |
61f054f12a8cda588604ea858f878da2f02d5faeb95800141e5da0dd6a8377f7
|