BS in Computer Science
Computer Science Department
An application programming interface (API) can be the most integral part of a product or service. APIs drive businesses and innovation in all aspects of technology and they rely on descriptive frameworks to detail what they have to offer. These descriptive frameworks are a rich source of information on a variety of levels, such as usage, best-practices and even basic implications towards the underlying implementation. The motivation of this project during my internship was to exploit this wealth of information in order to create a description-based, or contract-based, unit test generation tool specifically for Swagger-based REST APIs and to encourage contract-based development practices. Beyond my internship, I have developed this tool as my senior project with the goal of broadening its use-case beyond unit testing and into integration testing. Thus, swagger-test-templates is a Node.js based tool designed to consume Swagger-described APIs and generate comprehensive unit tests and specified integration test scenarios.