What you'll learn:
- Basics of TypeScript unit testing with Jest
- Integration tests with TypeScript
- Test Driven Development (TDD) with Jest
- Unit testing React with TypeScript and Jest
- CICD with GitHub Actions and Docker
- Jest - the basics: hooks, assertions, matchers
- Jest - the advanced parts: aliases, custom matchers, snapshots
- Advanced unit testing techniques using Jest
- Database operations testing with Docker and Jest
A must have skill for senior developers
Typescript is getting more and more popularity and it is a required skill for many IT jobs. It's key feature is type safety, thus preventing bugs.
But yes another skill is very important for any programming job: unit testing. Combining these two techniques will result in solid, robust and bug free code.
This course will go beyond the basics of unit testing and teach you all you need to write real world, complex testing suites for NodeJs and Typescript applications using the most popular JavaScript testing library: Jest.
Using Jest as an unit testing library provides many advantages:
Unitary unit testing library for running and structuring tests
Extensive mocking, stubbing and spying capabilities
Powerful matchers to create simple to read tests
Jest ships as one unitary NPMpackage
Jest is the default choice for TypeScript React projects
Why unit testing NodeJs apps?
Unit testing usually adds a lot to a code base, two or tree times in some cases. This also means that a lot of time needs to be invested in writing and setting up tests. But all this effort pays of: time, effort and headache of fixing bugs can be used for more fun activities.
What you will get from this course:
setup NodeJs and Typescript projects from scratch
implement unit testing with Jest
learn about unit testing configuration with parameters like: roots, transform, testRegex or verbose
learn about Jest test suites structure: describe with value, test, descriptions, hooks like beforeEach
basic and advanced assertions, comparing primitive types, objects or even errors
instantiating test double objects like mocks, stubs, spies or fakes.
write complex mock objects which can be used with "strange" JavaScript libraries.
inject doubles: directly inside the constructor, over the module or even using the objects prototype
learn about deep mocks and matchers to make your tests even better
integration tests for a NodeJs server application
Conditionally and asynchronously skip tests
Dedicated sections on unit testing mocks:
Jest mocks, spies
How to use stubs
London/Chicago testing approach, with the advantages and disadvantages of each one
In this course you will learn how to use Test Driven Development (TDD):
Analyze the advantages of TDD
Hands-on practice with a great coding kata: password checker
Separate section on Jest Integration tests for Rest APIs:
learn how to setup integration tests
learn the difference between integration tests and unit tests
write integration tests for a Rest API with Jest
Dedicated section on Jest React unit testing:
How to test for React components with Jest
How to test React async code
How to debug React Typescript apps
The examples used in the course follow very high coding guidelines for Typescript, NodeJs and React. Async/await syntax is used for clear and concise code, and of course, you will see how to test asynchronous code, on server, but also in the front end.
Course advantages:
Respect for your time: most of the time of the instructor typing is cut off, the course is focused on unit tests and Jest explanations
Concise: learn only what you need, no fillers to make the course falsely more appealing
Experienced and programming active instructor: a great teacher never looses touch with the industry. This is especially true for software development, where the industry is so dynamic. This helps the instructor stay up to date with the best coding guidelines and present you the challenging parts, not the "hello world"
Organized course structure: six parts, progressive approach, consistent content
Code changes in each lecture on Git with code diffs: this will help you get an concise overview of the lecture and correct in case you missed something
Big font, dark background, fullHD content, this way it is readable even on a small screen or even tablet.
Lifetime access
Certificate of completion to present to your current or prospective employer
Do you want your Typescript or NodeJs code to have the best quality, and your project to be safe?
Enroll and start writing your tests in 10 minutes!