WJHXCTest extends XCTest to enable asynchronous testing.  Individual tests can be run synchronously on the main thread (just like the existing mechanism), or asynchronously on either the main thread or a separate thread.  This allows for great flexibility in testing various asynchronous APIs.