# Introduction

## TestBox BDD v4.x

![TestBox](/files/-MSZ_mw0BHD0CKlZYAlO)

**TestBox** is a next generation testing framework for ColdFusion (CFML) that is based on [BDD](http://en.wikipedia.org/wiki/Behavior-driven_development) (Behavior Driven Development) for providing a clean obvious syntax for writing tests. It contains not only a testing framework, runner, assertions and expectations library but also ships with MockBox, A mocking and stubbing companion. It also supports xUnit style of testing and MXUnit compatibilities.

### Features At A Glance

Here are a simple listing of features TestBox brings to the table:

* BDD style testing
* xUnit style testing
* Code Coverage via FusionReactor
* Testing life-cycle methods
* [MockBox](http://wiki.coldbox.org/wiki/MockBox.cfm) integration for mocking and stubbing
* [MockDataCFC](https://forgebox.io/view/mockdatacfc) for mocking json/complex data and relationships
* Ability to extend and create custom test runners
* Ability to extend and create custom test reporters
* Extensible reporters, bundled with tons of them:
  * JSON
  * XML
  * JUnit 4 XML
  * Text (80's style)
  * Console
  * TAP ([Test Anything Protocol](http://testanything.org/))
  * Simple HTML
  * Min - Minimalistic Heaven
  * Raw
  * CommandBox
* Asynchronous testing
* Multi-suite capabilities
* Test skipping
* Suite skipping
* Dynamic skipping support via runtime executions
* Test one or more suites exclusively
* Test one or more tests/specs exclusively
* Test labels and tagging
* Testing debug output stream
* Clickable suite titles to filter test execution
* Much more!

## Versioning

TestBox is maintained under the [Semantic Versioning](https://semver.org) guidelines as much as possible.Releases will be numbered with the following format:

```
<major>.<minor>.<patch>
```

And constructed with the following guidelines:

* Breaking backward compatibility bumps the major (and resets the minor and patch)
* New additions without breaking backward compatibility bumps the minor (and resets the patch)
* Bug fixes and misc changes bumps the patch

## License

TestBox and MockBox are open source and licensed under the [Apache 2](https://www.apache.org/licenses/LICENSE-2.0.html) License. If you use them please try to make mention of it in your code or web site.

* Copyright by Ortus Solutions, Corp
* TestBox is a registered trademark by Ortus Solutions, Corp

{% hint style="info" %}
The ColdBox Websites, Documentation, logo and content have a separate license and they are a separate entity.
{% endhint %}

## Discussion & Help

* Help Group : <https://groups.google.com/a/ortussolutions.com/forum/#!forum/testbox>
* BoxTeam Slack : <https://boxteam.herokuapp.com>
* CFML Slack: Look for the `box-products` channel: <http://cfml.slack.com>

## Reporting a Bug

We all make mistakes from time to time :) So why not let us know about it and help us out. We also love pull requests, so please star us and fork us: <https://github.com/Ortus-Solutions/TestBox>

* By Jira: <https://ortussolutions.atlassian.net/browse/TESTBOX>

## Professional Open Source

![Ortus Solutions, Corp](/files/-MSZ_mw3jWPFnDvcu0-G)

TestBox is a professional open source software backed by [Ortus Solutions, Corp](https://www.ortussolutions.com/products/testbox) offering services like:

* Custom Development
* Professional Support & Mentoring
* Training
* Server Tuning
* Security Hardening
* Code Reviews
* [Much More](https://www.ortussolutions.com/services)

## Resources

* Official Site: [https://www.ortussolutions.com/products/testbox](http://www.ortussolutions.com/products/testbox)
* Current API Docs: <https://apidocs.ortussolutions.com/testbox/current>
* Help Group: <https://community.ortussolutions.com/c/communities/testbox/11>
* Source Code: <https://github.com/Ortus-Solutions/TestBox>
* Bug Tracker : <https://ortussolutions.atlassian.net/browse/TESTBOX>
* Twitter: [@ortussolutions](http://www.twitter.com/ortussolutions)
* Facebook: <https://www.facebook.com/ortussolutions>

#### HONOR GOES TO GOD ABOVE ALL

Because of His grace, this project exists. If you don't like this, then don't read it, its not for you.

> Therefore being justified by **faith**, we have peace with God through our Lord Jesus Christ: By whom also we have access by **faith** into this **grace** wherein we stand, and rejoice in hope of the glory of God. - Romans 5:5


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://testbox.ortusbooks.com/master-2/readme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
