As you can see from our arguments for a test suite, you can pass an asyncAll argument to the describe() blocks that will allow TestBox to execute all specs in separate threads for you concurrently.
describe(title="A spec (with setup and tear-down)", asyncAll=true,body=function() {beforeEach(function() { coldbox =22;application.wirebox =newcoldbox.system.ioc.Injector(); });afterEach(function() { coldbox =0;structDelete( application,"wirebox" ); });it("is just a function, so it can contain any code",function() {expect( coldbox ).toBe( 22 ); });it("can have more than one expectation and talk to scopes",function() {expect( coldbox ).toBe( 22 );expect( application.wirebox.getInstance( 'MyService' ) ).toBeComponent(); });});
Caution Once you delve into the asynchronous world you will have to make sure your tests are also thread safe (var-scoped) and provide any necessary locking.