Installation
Get up and running quickly
Framework
TestBox can be installed via CommandBox CLI as a development dependency in the root of your projects:
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
In the bx
folder you will find specific BoxLang tools:
CFML Tools
In the cfml
folder you will find specific BoxLang tools:
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.
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.
You will now have the testbox
namesapce available to you, try it out
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.
/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
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.
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.