beforeAll()
- Executes once before all specs for the entire test bundle CFC
afterAll()
- Executes once after all specs complete in the test bundle CFC
run( testResults, TestBox )
- Executes once so it can capture all your describe and it blocks
beforeEach( body, data )
- Executes before every single spec in a single describe block and receives the currently executing spec.
afterEach( body, data )
- Executes after every single spec in a single describe block and receives the currently executing spec.
aroundEach( body, data )
- Executes around the executing spec so you can provide code surrouding the spec.
The great flexibility of the BDD approach is that it allows you to nest describe
blocks or create multiple describe
blocks. Each describe
block can have its own life-cycle methods as well. Not only that, if they are nested, TestBox will walk the tree and call each beforeEach()
and afterEach()
in the order you declare them.
You can pass in an argument called data
which is a struct
of dynamic data to pass into the life-cycle method. You can then pickup this data in the closure for the life-cycle.
Here is a typical example:
Each style has its own life-cycle methods you can discover in their primers. They are callbacks that TestBox calls at specific points in time of testing. They are a great way to setup or teardown things before the entire testing suite or one test case. Here is a short synopsis for each style.
In addition to the life-cycle methods, you can make any method a life-cycle method by giving it the desired annotation in its function definition. This is especially useful for parent classes that want to hook in to the TestBox life-cycle.
@beforeAll
- Executes once before all specs for the entire test bundle CFC
@afterAll
- Executes once after all specs complete in the test bundle CFC
@beforeEach
- Executes before every single spec in a single describe block and receives the currently executing spec.
@afterEach
- Executes after every single spec in a single describe block and receives the currently executing spec.
@aroundEach
- Executes around the executing spec so you can provide code surrounding the spec.
Below are several examples using script notation.
DBTestCase.cfc (parent class)
PostsTest.cfc
This also helps parent classes enforce their setup methods are called by annotating the methods with @beforeAll
. No more forgetting to call super.beforeAll()
!
Info: You can have as many annotated methods as you would like. TestBox discovers them up the inheritance chain and calls them in reverse order.
beforeTests()
- Executes once before all tests for the entire test bundle CFC
afterTests()
- Executes once after all tests complete in the test bundle CFC
setup( currentMethod )
- Executes before every single test case and receives the name of the actual testing method
teardown( currentMethod )
- Executes after every single test case and receives the name of the actual testing method