Overview
TypeScript is an open source language for building enterprise Javascript applications. It is a strict superset of JavaScript that compiles to plain Javascript and brings static typing and object-oriented development to the language.
This instructor-led, live training introduces TypeScript’s unit testing features and frameworks. Participants get a chance to put theory to practice by constructing a collection of unit tests that can be run against real-life applications.
Format of the Course
- Interactive lecture and discussion.
- Lots of exercises and practice.
- Hands-on implementation in a live-lab environment.
Course Customization Options
- This course will focus on the frameworks that can be used to unit test a Javascript or Typescript application (Jasmine, Mocha, Jest, Chai, etc.).
- UI frameworks such as React are optional and can be covered if desired.
- To request a customized training for this course, please contact us to arrange.
Requirements
- An understanding of software testing concepts
- Javascript or Typescript programming experience
- An understanding of NodeJs
Audience
- Developers
Course Outline
Introduction
- Understanding Unit Testing
Overview of Typescript Unit Test Frameworks
- Jasmine, Mocha, Jest, Chai
- Unit test uses cases
Setting up the Testing Environment
- Downloading and installing the libraries
- Installing and configuring an IDE
- Setting up a sample application
Overview of Typescript
- Typescript vs Javascript and other languages
- Understanding Typescript syntax and features
Writing Your First Unit Test
- Setting up a test
- Writing a test definition
- Working with nested scoping
- Creating assertions
- Running the unit test
Debugging the unit test
- Stepping through the code
- Creating breakpoints
- Setting up debug tasks
Expanding the Unit Test
- Writing a complex Typescript class
- Writing stubs and mocks
- Creating a Test Suite
Writing More Tests
- Testing Node.js
- HTTP endpoint unit tests
- Testing a REST APIs
- Writing an integration test
- Testing React components (optional)
Troubleshooting
Summary and Conclusion