Installation

Get up and running quickly

Framework

TestBox can be installed via CommandBox CLI as a development dependency in the root of your projects:

// Create a new project
mkdir myProject --cd

// latest stable version
box install testbox --saveDev

// latest bleeding edge
box install testbox@be --saveDev

Please note the --saveDev flag, which tells CommandBox that TestBox is a development dependency and not a production dependency.

DO NOT USE TESTBOX IN PRODUCTION.

The only requirement is that it be in either in the webroot or in a location where you create a /testbox mapping to it's folder.

System Requirements

  • CFML Engines: Lucee 5.x+ or ColdFusion 2018+

TestBox has been designed to work in the BoxLang language and can also be compatible in CFML languages.

What's Included

Here is a table of what's included in the installation package which goes in /{project}/testbox

FolderDescription

bx

BoxLang tools

cfml

CFML Tools

system

The main system framework folder

test-visualizer

A static visualizer of JSON reports. Just drop in a test-results.json and run it!

tests

Several sample tests and runners are actually used to build TestBox

In the bx folder you will find specific BoxLang tools:

FolderDescription

browser

This is a little utility to facilitate navigating big testing suites. This helps navigate to the suites you want and execute them instead of typing all the time.

tests

A vanilla test runner for any application

runner

A simple GUI test runner

CFML Tools

In the cfml folder you will find specific BoxLang tools:

FolderDescription

browser

This is a little utility to facilitate navigating big testing suites. This helps navigate to the suites you want and execute them instead of typing all the time.

tests

A vanilla test runner for any application

runner

A simple GUI test runner

IDE Tooling

Now that you are installed, please set up your favorite IDE with our tooling extensions so it can make your testing experience more enjoyable.

IDE Tools

TestBox CLI

TestBox comes with its own CLI for CommandBox. You can use it to generate tests, harnesses, and suites and also run executions from the CLI.

install testbox-cli

You will now have the testbox namesapce available to you, try it out

testbox help

Generating a Testing Harness

Once you install TestBox, you'll need a quick way to set up a testing harness in your project. The generate harness command will add a new /tests folder to your application with a few example tests to get you started.

testbox generate harness

/tests - The test harness generated

  • /resources - Where you can place any kind of testing helpers, data, etc

  • /specs - Where your test bundles can go

    • /unit

    • /integration

  • Application.bx|cfc - Your test harness applilcation file. Controls life-cycle and application concerns.

  • runner.bx|cfm - A web runner template that executes ALL your tests with tons of different options from a running web server.

  • test.xml - An ANT task to do JUNIT testing.

You can then run your tests by executing the testbox run command in CommandBox or by visiting the web runner in the generated harness: http://localhost/tests/runner.cfm

testbox run --help

Generating Tests

You can also use the CLI to generate tests according to your style and also it detects if you are using BoxLang or a CFML engine.

testbox create bdd --help
testbox create unit --help

Language Generation

If you want to be explicit you can use the language id to set it to your preferred language for generation and usage. We recommend this so all CLI tooling can detect what language your project is in.

# For BoxLang Generation
package set language="boxlang"

# For CFML
package set language="cfml"

Last updated

Copyright & Register Trademark by Ortus Solutions, Corp & Ortus Software, LLC