Real-World TypeScript Unit Testing
- Description
- Curriculum
- FAQ
- Reviews
You’re here because you know typescript and want to write better code with fewer bugs using unit tests.
I am here because I can help you accomplish your mission. I have B.s.c + M.s.c in mechanical engineering. I have been making software applications for over 20 years in the Hi-Tec industry and have much teaching experience. You can trust me and my teaching methods. I have learned many technologies in the past (check my LinkedIn profile), and I know exactly what is needed to learn and how.
In this course, I teach you everything you need about unit tests, and I use a real-world system, typescript, vitest, and jest.
The task of writing a unit test is not simple because there are many moving parts:
– Unit test of logic code
– Unit test of code with side effects like accessing the web
– Unit test of a module that uses another module
– Mocks
– Timers
– Unit test of UI
– Unit test of code that runs on the server
– Jsdom, testing library, react testing library
– Some tools like jest need a nontrivial setup to work with typescript and ES module
– New competitor to jest, e.g., vitest
– Coverage test
This ocean is very hard to swim without first learning it properly, and this is done in this course.
Learning in this course is not just video lessons; there are other important learning materials that most courses do not provide as a whole :
– Quiz after EVERY lesson
– Coding exercise at the end of EVERY coding section
– pdf file with all the lectures
– pdf file with a dictionary of all the material that I teach in this course
-
8Section IntroVideo lesson
-
9What is testingVideo lesson
-
10What is testingQuiz
-
11Unit test vs integration test vs e2e testVideo lesson
-
12Unit test vs integration test vs e2e testQuiz
-
13Side effectsVideo lesson
-
14Side effectsQuiz
-
15Properties of a good unit testVideo lesson
-
16Properties of good unit testQuiz
-
17Manual test vs automatic testVideo lesson
-
18Manual test vs automatic testQuiz
-
19Motivation for automatic testingVideo lesson
-
20Motivation for automatic testingQuiz
-
21Should you test all your codeVideo lesson
-
22Should you test all your codeQuiz
-
23Unit testing best practicesVideo lesson
-
24Unit testing best practicesQuiz
-
25Unit testing modesVideo lesson
-
26Unit testing modesQuiz
-
27Unit testing framework : vitest and jestVideo lesson
-
28Unit testing framework : vitest and jestQuiz
-
29VitestVideo lesson
-
30VitestQuiz
-
31JestVideo lesson
-
32JestQuiz
-
33Section IntroVideo lesson
-
34Simple system UIVideo lesson
-
35Simple system UIQuiz
-
36Block diagramVideo lesson
-
37Block diagramQuiz
-
38Sequence diagramVideo lesson
-
39Sequence diagramQuiz
-
40Source codeVideo lesson
-
41Source codeQuiz
-
42MotivationVideo lesson
-
43MotivationQuiz
-
44SpecificationVideo lesson
-
45SpecificationQuiz
-
46Project structureVideo lesson
-
47Project structureQuiz
-
48Section introVideo lesson
-
49Directory final setupVideo lesson
-
50Unit test of an object or a classVideo lesson
-
51Unit test of an object or a classQuiz
-
52Choosing the first module to unit testVideo lesson
-
53Choosing the first module to unit testQuiz
-
54Setup unit test for TaskQueueVideo lesson
-
55Setup unit test for TaskQueueQuiz
-
56TaskQueue - test for empty queueVideo lesson
-
57TaskQueue - test for empty queueQuiz
-
58TaskQueue - test for non empty queueVideo lesson
-
59TaskQueue - test for non empty queueQuiz
-
60Fix the test using beforeEach and add clear function to TaskQueueVideo lesson
-
61Fix the test using beforeEach and add clear functionQuiz
-
62Code at section endVideo lesson
-
63Coding Excercise 2Video lesson
-
64Coding Excercise 2 - solutionVideo lesson
-
65Section introVideo lesson
-
66Code coverage meaning and motivationVideo lesson
-
67Code coverage meaning and motivationQuiz
-
68Do we need 100% code coverageVideo lesson
-
69Do we need 100% code coverageQuiz
-
70InatallationVideo lesson
-
71InatallationQuiz
-
72UsageVideo lesson
-
73UsageQuiz
-
74Coding Excercise 3Video lesson
-
75Coding Excercise 3 - solutionVideo lesson
External Links May Contain Affiliate Links read more