Day 4 of the 12 Days of Christmas: BoxLang + TestBox Next-Level Testing on the CLI 🎄
Today we’re celebrating one of the most exciting new additions to the BoxLang ecosystem:
the TestBox BoxLang CLI Runner — a fast, native way to run your TestBox tests directly through the BoxLang Runtime. ⚡
No server required. No CommandBox needed. Just pure, ultra-fast BoxLang-powered testing from the command lineon Windows, Mac, and Linux.
If you’re building modern applications with BoxLang — web apps, CLIs, serverless functions, Android apps, or OS-level utilities — this new feature gives you a unified, flexible testing workflow you can run anywhere.
🌟 What Is the BoxLang TestBox CLI Runner?
TestBox now ships with a dedicated BoxLang runner that allows you to:
- Run tests directly using the BoxLang binary
- Execute tests written in CFML or BoxLang
- Stream live test progress using
-verbose - Run specs incredibly fast thanks to the native BoxLang runtime
- Test multiple BoxLang runtimes (CLI, OS, Android, serverless, etc.)
This is a BoxLang-only feature — taking advantage of BoxLang’s multi-runtime design.
You can test the same code across different environments without switching runtimes or servers. 🚀
🧪 Testing Web Applications? Install Web Support
Because BoxLang is multi-runtime, the CLI runner does not include web support by default.
If you want to test a web application from the CLI (without running a web server), you must install the web support module:
# BoxLang OS Binary
install-bx-module bx-web-support
This provides:
- BIFs (built-in functions)
- Components
- Web request lifecycle behavior
- A mock HTTP server for full web testing
If your project is web-only, you may prefer the CommandBox TestBox runner, which uses HTTP and behaves like a real web server.
But for CLI-based testing, installing bx-web-support is all you need.
📁 Where the Runner Lives
Inside your TestBox installation:
/testbox/
run (Mac/Linux)
run.bat (Windows)
These are the entry points for executing tests in the BoxLang runtime.
The runner must be executed from the root of your BoxLang project.
▶️ Running Tests — Examples
Mac / Linux
./testbox/run
./testbox/run my.bundle
./testbox/run --directory=tests.specs
./testbox/run --bundles=my.bundle
Windows
./testbox/run.bat
./testbox/run.bat my.bundle
./testbox/run.bat --directory=tests.specs
./testbox/run.bat --bundles=my.bundle
No server is involved here.
This is pure CLI execution, extremely fast and ideal for automation.
⚙️ Execution Options
Some of the core options include:
Selecting What to Run
-bundles— List of bundles to run-bundles-pattern— Pattern for test file names-directory— Directory containing specs (dot notation)-recurse— Recurse folders (default: true)-eager-failure— Fail fast-verbose— Real-time streaming output
Reporting
-reporter— Choose reporter-reportpath— Report output directory-write-report— Save report file-write-json-report— Create JSON report-write-visualizer— Save visual HTML report-properties-summary— Generate summary file
Runner Options
You can pass settings directly into the runner:
--runner-optionName=value
This gives you granular control over how the internal runner behaves.
Filtering
-labels— Run only certain labels-excludes— Exclude labels-filter-bundles-filter-suites-filter-specsa BoxLang’s runtime is optimized for speed, so tests run in milliseconds.
✔ Multi-environment testing
Test code for CLI tools, Android builds, OS tools, serverless functions — all from the same command.
✔ Test both CFML and BoxLang
Perfect for teams in transition or hybrid codebases.
✔ Fully scriptable in CI/CD
Great for GitHub Actions, GitLab runners, Azure DevOps, Jenkins, etc.
✔ No server required
Unless you're testing web behavior — and even then, the mock server solves it.
It's a massive win for reliability and productivity across the Ortus ecosystem. ✨
Want to Join the BoxLang Modern World?
Become a Pioneer
BoxLang is growing fast features are expanding, the ecosystem is thriving, and performance is turning heads. But the most exciting part? You can be part of shaping it from the very beginning.
The Pioneer Program is your gateway to early access, unmatched support, and unbeatable value. Here’s what you get:
- Everything in BoxLang+, and more:
- Professional support to get you running smoothly
- A dedicated Slack channel for direct access to our team, solve issues in seconds
- Priority handling for your feature requests and bug fixes
- Migration done with you, not just for you:
- Our engineers work alongside your team to migrate your apps end-to-end
- Guaranteed compatibility, we won’t stop until it works perfectly
- Big savings, no hidden tricks:
- At least 40% off your current licensing costs, locked in early, no surprise charges as you grow
Still Not Convinced?
If you’re unsure how BoxLang will work with your applications, or whether it can truly make a difference, we’ve made it easy to see the value for yourself, risk-free:
-
Free 30-Minute Consultation & App Diagnosis
We’ll review your applications, identify bottlenecks, and give you a clear modernization plan. You’ll see exactly where you can save time, reduce costs, and unlock new possibilities with BoxLang.
-
1-Year Free Non-Production License
Test-drive BoxLang Premium features in your own environment, no rush, no pressure. Explore advanced capabilities, experiment freely, and experience the benefits firsthand before making any commitments.
🎁 Day X Summary
The TestBox BoxLang CLI Runner brings first-class testing support to the BoxLang ecosystem:
- Fast, native execution
- CLI-first workflow
- Multi-runtime support
- Optional web testing with web-support module
- Full reporting, filtering, and runner configuration
- Works with both CFML and BoxLang tests
This is a key step toward a powerful, modern, unified developer experience — and it’s only the beginning.
More goodies are coming as we continue the 12 Days of Christmas! 🎄🙂
Add Your Comment