Building proper testing capabilities for a modern web application requires the following three main pieces:
A unit-testing framework: a tool to test specific units (usually functions or small classes) of code
A mocking library: a tool that facilitates testing by creating fake versions of objects
An acceptance testing framework: a tool for testing complete user experiences, such as logging in to your site or ordering a product
Depending on which unit-testing library you select, you may also want to download additional tools. For instance, many libraries offer alternate styles of test reports, which must be downloaded and included separately. Moreover, if you use a library that lacks the ability to run tests at the command line, you may wish to add this functionality with a headless web browser such as the very popular PhantomJS, Doing so will make it easier to automate your tests so that they can, for instance, run periodically or in response to code checks-ins. While there...