Best Practices: Testing Node.js for Stability and Project Success

Date and Time: 
2014 April 7th @ 9:00am
CG1 Auditorium
Walter Scarborough

The Texas Advanced Computing Center (TACC) uses node.js in middleware services that gather HPC metrics, as well as for customizing and wrapping backend APIs that include the Agave API for science­as­a­platform development. Node.js has become a popular choice for developing backend and middleware services. However, node’s asynchronous nature can make projects that use it difficult to maintain unless consistent testing practices are followed. There are a variety of testing hurdles at the technical level including layers of callbacks, dependency web services and authentication. Furthermore, there are often overlooked hurdles at the project level in that various stages of development depend on each other, but are developed over different rates of time. Testing tools can be helpful in both situations by providing proven stability and mock services that allow backend, middleware and frontend development to proceed at different rates of time. We use testing tools such as jshint, nock.js, mocha and data fixtures together to develop node.js services that can be tested without having to wait for dependency services to be available. This presentation chronicles our experiences developing node.js REST services, and explains the testing procedures that have worked best for us.

Speaker Description: 

Walter Scarborough is a software developer at the Texas Advanced Computing Center (TACC) at the University of Texas at Austin. He focuses on mobile applications and services.

Event Category: