A comprehensive, beginner-friendly guide covering everything from the basics to advanced techniques. Tired of piecing together disconnected tutorials or dealing with rambling, confusing instructors? This course is for you! It's perfectly structured into a series of bite-sized, easy-to-follow videos that cover both theory and practice.
Mastering JavaScript Unit Testing
3h 51m 31s
English
Free
- Explore the fundamentals of unit testing and its benefits.
- Master core unit testing techniques and best practices.
- Craft maintainable, robust, and trustworthy tests that deliver value.
- Learn to execute and navigate tests effectively in VSCode.
- Perform positive, negative, and boundary testing for comprehensive coverage.
- Evaluate code coverage to ensure comprehensive testing.
- Create parameterized tests for versatile testing scenarios.
- Isolate code with mocks and learn when to use them.
- Spy on functions to gain insights into their behavior.
- Improve code quality using static analysis tools.
- Utilize Prettier to format your code consistently.
- Implement ESLint to catch code quality issues early.
- Prevent type errors in your code using TypeScript.
- Automate code quality checks using Husky.
About the Author: codewithmosh (Mosh Hamedani)
Hi! I am Mosh Hamedani! I am a passionate and pragmatic software engineer with 20 years of professional experience and I've taught over 10 million people how to code or how to become professional software engineers through my YouTube channel and online courses. I have a Bachelor of Science in Software Engineering and a Master of Science in Networks Systems.
My mission is to make coding and software engineering accessible to everyone through courses that are simple to digest, and practical to implement.
Watch Online 55 lessons
0:00 0:00
| # | Lesson Title | Duration |
|---|---|---|
| 1 | Welcome | 01:23 |
| 2 | Prerequisites | 00:42 |
| 3 | Course Structure | 02:16 |
| 4 | How to Take This Course | 00:59 |
| 5 | Setting Up the Testing Environment | 00:34 |
| 6 | Starter Project | 00:55 |
| 7 | Introduction | 01:40 |
| 8 | What is Unit Testing | 05:22 |
| 9 | Types of Tests | 03:15 |
| 10 | Choosing a Testing Framework | 01:40 |
| 11 | Setting Up Vitest | 01:15 |
| 12 | Writing Your First Tests | 09:21 |
| 13 | Exercise: Testing fizzBuzz | 05:57 |
| 14 | Test-driven Development | 07:11 |
| 15 | Exercise: Testing Factorial | 05:02 |
| 16 | Running Tests | 04:24 |
| 17 | Navigating Tests in VSCode | 04:12 |
| 18 | Code Coverage | 04:34 |
| 19 | Introduction | 00:55 |
| 20 | Characteristics of Good Unit Tests | 04:25 |
| 21 | Using Matchers | 03:07 |
| 22 | Writing Good Assertions | 07:18 |
| 23 | Exercise: Testing getCoupons | 09:01 |
| 24 | Positive and Negative Testing | 07:20 |
| 25 | Exercise: Testing validateUserInput | 07:19 |
| 26 | Boundary Testing | 02:58 |
| 27 | Exercise: Testing isValidUsername | 05:46 |
| 28 | Exercise: Testing canDrive | 06:36 |
| 29 | Parameterized Tests | 04:57 |
| 30 | Exercise: Parameterized Tests | 04:21 |
| 31 | Testing Asynchronous Code | 04:30 |
| 32 | Setup and Teardown | 02:43 |
| 33 | Exercise: Testing a Stack | 09:55 |
| 34 | Introduction | 00:32 |
| 35 | Creating Mock Functions | 05:39 |
| 36 | Exercise: Working with Mock Functions | 01:53 |
| 37 | Mocking Modules | 05:02 |
| 38 | Exercise: Testing getShippingInfo | 05:29 |
| 39 | Interaction Testing | 03:24 |
| 40 | Exercise: Testing submitOrder | 06:53 |
| 41 | Partial Mocking | 07:33 |
| 42 | Spying on Functions | 05:38 |
| 43 | Clearing, Resetting, and Restoring Mocks | 04:56 |
| 44 | To Mock or Not to Mock | 01:16 |
| 45 | Mocking Dates | 03:52 |
| 46 | Exercise: Testing getDiscount | 01:56 |
| 47 | Introduction | 00:34 |
| 48 | What are Static Analysis Tools | 01:13 |
| 49 | Formatting Code with Prettier | 05:11 |
| 50 | Linting Code with ESLint | 09:53 |
| 51 | Catching Type Errors with TypeScript | 06:33 |
| 52 | Running ESLint on TypeScript | 06:14 |
| 53 | Automating Code Quality Checks with Husky | 03:57 |
| 54 | Running Tests on Push | 01:34 |
| 55 | Course Wrap Up | 00:26 |
Books
Read Book Mastering JavaScript Unit Testing
| # | Title |
|---|---|
| 1 | 1- Introduction to Unit Testing |
| 2 | 2- Core Unit Testing Techniques |
| 3 | 3- Breaking Dependencies with Mocks |
| 4 | 4- Improving Code Quality using Static Analysis Tools |