This document discusses asynchronous JavaScript unit testing. It covers what asynchronous code is, what an async test is, and different approaches for writing async tests including callbacks, promises, generators, and async/await. It also discusses using the SinonJS library for test spies, stubs and mocks. Examples of testing async code and references for further reading are provided.