
roblox-testing
TestEZ, mocking Roblox services, dependency injection, CI/CD with Lune, test patterns.
- Installs
- 145
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/tabooharmony/roblox-brain --skill roblox-testing- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads roblox-testing automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
When to Load
Load when writing unit/integration tests, mocking Roblox services, setting up CI/CD with Lune, or refactoring code for testability via dependency injection. Hand off to roblox-luau-core for syntax, roblox-luau-types for type design, roblox-luau-patterns for architecture, roblox-security for validation.
Quick Reference
TestEZ (BDD framework)
- Install:
[dev-dependencies] TestEZ = "roblox/testez@0.4.1"inwally.toml - Files:
*.spec.luau, co-located with source - Blocks:
describe→it→beforeEach/afterEach - Assertions:
expect(x).to.equal(y),.to.be.near(n, ε),.to.throw()
Dependency Injection
-- BAD: untestable outside Studio
local store = game:GetService("DataStoreService"):GetDataStore("PlayerData")
-- GOOD: inject dependency
local function saveData(player, data, dataStore)
dataStore:SetAsync("player_" .. player.UserId, data)
end
-- Module init pattern:
function Manager.init(dataStoreService)
_dss = dataStoreService or game:GetService("DataStoreService")
end
Mocking Essentials
-- MockDataStore: in-memory Get/Set/Update
local M = {}
function M.new() return setmetatable({_data={}}, {__index=M}) end
function M:GetAsync(k) return self._data[k] end
function M:SetAsync(k,v) self._data[k]=v end
function M:GetDataStore() return self end
-- MockRemoteEvent: OnServerEvent + FireServer
-- MockSignal: Connect/Fire with Connected flag
CI/CD with Lune
# aftman.toml
[tools]
lune = "lune-org/lune@0.8.0"
Pipeline: selene src/ → stylua --check src/ → luau-lsp analyze → lune run tests/run.luau
-- tests/run.luau
local TestEZ = require("@testez")
local results = TestEZ.TestBootstrap:run({game:GetService("ReplicatedStorage")}, TestEZ.Reporters.TextReporter)
if results.failureCount > 0 then os.exit(1) end
Testing Priority
- DataStore save/load round-trips (prevents data loss)
- Monetization ProcessReceipt (idempotency)
- Core math (damage, buffs, economy)
- Server validation (remote exploits)
Pitfalls
beforeEachto reset state; nevergame:GetService()in logic- Tests must be order-independent; CI needs mocks; commit
wally.lockNeed more detail? Loadreferences/full.mdfor the complete reference with code examples, API tables, and edge cases.
FAQ
What does the roblox-testing skill do?
TestEZ, mocking Roblox services, dependency injection, CI/CD with Lune, test patterns.
How do I install roblox-testing?
Run npx skills add https://github.com/tabooharmony/roblox-brain --skill roblox-testing in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/roblox-testing/ (personal) or .claude/skills/roblox-testing/ (project).
Which AI agents can use roblox-testing?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is roblox-testing safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains roblox-testing?
It is published by tabooharmony in tabooharmony/roblox-brain. It has 145 recorded installs.
More from tabooharmony/roblox-brain
roblox-building
tabooharmony/roblox-brain
Use when building or editing geometry, maps, props, or generated assets with MCP or standalone Luau.
roblox-animation-vfx
tabooharmony/roblox-brain
Use when adding, changing, or fixing Roblox animations, particles, beams, trails, tweens, camera shake, or other visual effects.
roblox-studio-mcp
tabooharmony/roblox-brain
Use when working in Roblox Studio through MCP: editing scripts or scenes, generating assets, playtesting, screenshots, or input.
roblox-lighting
tabooharmony/roblox-brain
Use when setting up or changing Roblox lighting, atmosphere, day/night cycles, or post-processing effects.
roblox-gui
tabooharmony/roblox-brain
Use when building or fixing Roblox menus, HUDs, shops, dialogs, or UI that must work on phones, tablets, desktop and console.
roblox-luau-patterns
tabooharmony/roblox-brain
Use when writing or refactoring Roblox Luau modules, object lifecycles, signals, task scheduling, pcall, and cleanup.
Popular testing & qa skills
tdd
mattpocock/skills
Test-driven development. Use when the user wants to build features or fix bugs test-first, mentions "red-green-refactor", or wants integration tests.
grilling
mattpocock/skills
Grill the user relentlessly about a plan, decision, or idea. Use when the user wants to stress-test their thinking, or uses any 'grill' trigger phrases.
migrate-to-shoehorn
mattpocock/skills
Migrate test files from as type assertions to @total-typescript/shoehorn. Use when user mentions shoehorn, wants to replace as in tests, or needs partial test data.
run-train
lllllllama/rigorpilot-skills
Rigor Train skill for deep learning research repositories. Use when a documented or selected training command should be run conservatively for startup verification, short-run verification, full kickoff, or resume, with command, config, seed, log, checkpoint, status, and metric evidence written to standardized trainoutputs/. Do not use for environment setup, exploratory sweeps, speculative idea implementation, or end-to-end orchestration.
test-driven-development
obra/superpowers
Use when implementing any feature or bugfix, before writing implementation code
finishing-a-development-branch
obra/superpowers
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work