Testing WoW Addons
Expert guidance for testing WoW addons using Sandbox, Desktop, and In-Game methods.
Related Commands
- c-test - Run unit tests workflow
- c-review - Full code review (includes test step)
CLI Commands (Use These First)
MANDATORY: Always use CLI commands before manual exploration.
| Task |
Command |
| Generate Stubs |
mech call sandbox.generate |
| Run Sandbox Tests |
mech call sandbox.test -i '{"addon": "MyAddon"}' |
| Run Busted Tests |
mech call addon.test -i '{"addon": "MyAddon"}' |
| Test Coverage |
mech call addon.test -i '{"addon": "MyAddon", "coverage": true}' |
| Sandbox Status |
mech call sandbox.status |
Capabilities
- Sandbox Testing — Fast, offline tests using generated WoW API stubs
- Desktop Testing (Busted) — Integration tests with custom mocks
- In-Game Testing — Runtime verification via MechanicLib registration
- Coverage Analysis — Identify untested code paths
Routing Logic
Quick Reference
Recommended Workflow
- Sandbox (Core): Fast feedback for business logic.
- Desktop (Integration): Test interactions between modules.
- In-Game (Verification): Final check against live APIs.
Example Sandbox Test
describe("MyAddon Core", function()
it("calculates values correctly", function()
local result = Core.Calculate(10, 20)
assert.equals(30, result)
end)
end)
Running Tests
# Generate stubs once
mech call sandbox.generate
# Run tests frequently
mech call sandbox.test -i '{"addon": "MyAddon"}'