# Introduction

## TestBox BDD v4.x

![TestBox](https://3468028133-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LA-UVvpHGvcri7lG2ed%2Fsync%2F33f492ef67b80a8615a9f0c386ae1819a8bbc5c9.png?generation=1612300367597395\&alt=media)

**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](https://3468028133-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LA-UVvpHGvcri7lG2ed%2Fsync%2F480f06640920b8680d2dc18c3a412239e019aa5b.png?generation=1612300366598252\&alt=media)

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
