Skip to content

brighttestUnified BrightScript testing

Write a test once in Rooibos syntax. Run it headless — fast CI, coverage, even SceneGraph nodes, no device — or on a real Roku to confirm fidelity.

What is brighttest?

A thin, config-driven CLI over a mature stack — BrighterScript + Rooibos + brs-node — for testing plain BrightScript Roku projects. You write tests once in Rooibos syntax; brighttest runs them in whichever lane you need.

bash
npm i -D brighttest
npx brighttest                                              # headless (no device) — default
npx brighttest --coverage --lcov coverage/lcov.info        # headless + coverage (no device)
npx brighttest --device --host <roku-ip> --password <dev-pw>          # on real hardware (fidelity)

New to testing on Roku? Start with the Writing tests guide — it assumes no prior experience with any of these tools.

Two kinds of testing

  • Logic — Rooibos unit/integration specs, run headless (fast CI, coverage) or on device. This is the bulk of your tests. Start at the Writing tests guide.
  • UI journeys — the on-device E2E lane drives a real Roku like a user (launch, D-pad, text) and asserts on the live screen. Additive — for the critical flows only a real device can prove.
bash
npx brighttest e2e inspect --host <roku-ip> --app dev     # see the live screen
npx brighttest e2e run flows/ --host <roku-ip> --password <dev-pw>   # run YAML flows