Pain Free Mocking with Jest

Learn to confidently test JavaScript applications and mock dependencies using Jest, the pain-free way.

Understand how to painlessly use Mocks, Spies, and Stubs to test any part of your application, without worrying about Databases, APIs and Security Tokens.

After finishing this course (which only takes a single afternoon), you'll feel confident in your testing skills because you'll have all the knowledge and tools you need to effectively and painlessly test even complex applications in the real world without headaches.

  • 4.4 / 5 (10 ratings)
  • Published
  • Updated
On demand video

2 hrs 36 mins

Video Lessons

39 Videos

Course Instructor
Avatar Image

Akinwale Folorunsho Habibullah

I'm Akinwale Habib. I am a senior software engineer and a former bootcamp instructor at Andela. I have led technical teams to develop eHealth products at Savics, and also helped many aspiring software engineers learn the proper way to write applications using Agile methodologies and TDD.

How The Course Works

01Remote

You can take the course from anywhere in the world, as long as you have a computer and an internet connection.

02Self-Paced

Learn at your own pace, whenever it's convenient for you. With no rigid schedule to worry about, you can take the course on your own terms.

03Community

Join a vibrant community of other students who are also learning with Pain Free Mocking with Jest. Ask questions, get feedback and collaborate with others to take your skills to the next level.

04Structured

Learn in a cohesive fashion that's easy to follow. With a clear progression from basic principles to advanced techniques, you'll grow stronger and more skilled with each module.

Course Overview

What You Will Learn
  • How to write unit and integration tests with Jest

  • How to test functions that interact with Controllers, APIs, and Databases (without relying on their responses)

  • How to test code in isolation with Mocks, Spies, and Stubs using Mockingoose

  • How to write integration tests for HTTP endpoints and database connections

  • Advanced mocking and integration testing techniques like the 3A pattern, network manipulation, and more

  • How to become a test strategist with the Agile Testing Quadrant, create CI test pipelines, and add tests to the development lifecycle

The Issue With Unit Testing & Mocks

Writing unit tests has always been equal parts important and confusing.

While writing your first unit test is simple and easy, the learning curve becomes very steep very quickly once you have to test actual real-life scenarios.

Because suddenly, you have to know how to mock a database call or spy an HTTP request or stub a 3rd party API with a security token. When you have to test real-life scenarios like that, things become much more complex than they initially seemed.

With every test case being different from the next one, and with Mocks not being used anywhere else in coding except for testing, it's hard to find quality information online. Every answer is different from the next one and is aimed for an ultra-specific scenario that won't necessarily apply to any other case, including yours.

Instead of making things clear, this confuses things even further.

How "Pain Free Mocking with Jest" Helps:

"Pain Free Mocking with Jest" is designed to make testing painless by helping you understand once and for all the 'How', 'What', and 'When' of Mocks, Spies, and Stubs using the Jest testing framework.

You will learn how to write simple and complex test cases, utilize Jest's mocking capabilities, and gain hands-on experience with real-world testing scenarios that involve Databases, HTTP requests, and 3rd Party APIs.

By the end of the course, you'll feel confident using Mocks, Spies and Stubs in any scenario you may need them. You'll have all the knowledge and tools you need to create complete test suites and confidently test JavaScript applications with mocking without headaches.

Course Content Overview

Course Overview: Total Modules: 6 Total Lessons: 37 Total Video Runtime: 2 hours, 28 minutes

Summary:

  • Build and test a Node.js REST API application with authentication features like 'Sign Up' and 'Sign In'.
  • Learn how to test everything from simple functions all the way to Controllers that interract with 3rd party web services.
  • Learn the 'What', 'How', and 'When' of Mocks, Spies, and Stubs.
  • Learn to see your application code in testable units.
  • Write integration tests for HTTP endpoints, controllers, middleware functions, and 3rd party integrations.
  • Create Git hooks to run unit tests before each commit
  • Build a CI pipeline using Github Actions to automate running integration tests on each git push to Github.

Our students work at

  • salesforce-seeklogo.com.svgintuit-seeklogo.com.svgAdobe.svgDisney.svgheroku-seeklogo.com.svgAT_and_T.svgvmware-seeklogo.com.svgmicrosoft-seeklogo.com.svgamazon-seeklogo.com.svg
sample bg image url

Sample Course Lessons

Course Syllabus and Content

Pain Free Mocking with Jest teaches you how to effectively and painlessly test JavaScript applications with Jest. You'll start by learning how to write unit and integration tests as well as the 'How', 'What', and 'When' of Mocks, Stubs, and Spies. Then we'll move to more advanced technique and strategies you'll be using for the rest of your career, including how to have a hollistic approach to testing and how to automatically add your tests in the development lifecycle.

Module 1

Introduction

6 Lessons 20 Minutes

Everything you need to know to start testing with Jest. You'll set up your environment, learn how to think like a tester with the Testing Pyramid and you'll even write your first test!

Module 2

Getting started with mocking and unit testing

13 Lessons1 Hours 2 Minutes

Get started with unit testing and mocking. Write more unit tests, learn how, when, and why to use mocks, stubs, and spies, mock databases and participate in some fun testing exercises.

Module 3

Getting started with integration testing

9 Lessons 37 Minutes

Get started with integration testing. Separate the database from your tests, learn how to test HTTP endpoints, run parallel tests, mock API integrations and participate in even more fun exercises.

Module 4

Advanced mocking and integration testing

5 Lessons 18 Minutes

Learn advanced mocking and testing techniques. Test complex edge cases like slow or inconsistent networks and learn how to create consistent testing environments with test containers.

Module 5

Testing strategy

5 Lessons 14 Minutes

Become a test strategist by learning about test costs, maintainability and how to have a hollistic testing approach with the Agile Testing Quadrant. Add your tests to the development cycle by setting up Git hooks with Husky and CI pipelines with GitHub actions.

Module 6

Conclusion

1 Lesson 1 Minutes

You did it! By now you'll feel confident testing JavaScript applications with Jest because you have all the knowledge and tools you need to test applications in the real world without headaches.

Subscribe for a Free Lesson

By subscribing to the newline newsletter, you will also receive weekly, hands-on tutorials and updates on upcoming courses in your inbox.

What Students are Saying

        Meet the Course Instructor

        Akinwale Folorunsho Habibullah

        Akinwale Folorunsho Habibullah

        Meet the Course Instructor

        Akinwale Habib - Senior Software Engineer and Educator

        I am a senior software engineer and a former bootcamp instructor at Andela. I have led technical teams to develop eHealth products at Savics, and also helped many aspiring software engineers learn best practices such as automated testing. As a Learning Facilitator at Andela, I contributed to Andela's partner programs such as Google Africa Developer Scholarships (GADS), DevC Training With Andela, and Andela Learning Community, which helped thousands of software engineers in Africa.

        I am passionate about teaching, and I feel fulfilled seeing learners grasp complex ideas and go on to create applications or advance their careers.

        Purchase the course today

        One-Time Purchase

        Pain Free Mocking with Jest

        $69$79$10.00 off
        Pain Free Mocking with Jest
        • Discord Community Access
        • Full Transcripts
        • Money Back Guarantee
        • Lifetime Access

        newline Pro Subscription

        $18/MO

        Get unlimited access to the course, plus 60+ newline books, guides and courses. Learn More

        Pain Free Mocking with Jest

        Billed annually or $40/mo billed monthly. Free to cancel anytime.

        • Discord Community Access
        • Full Transcripts
        • Money Back Guarantee
        • Lifetime Access

        Plus:

        • Unlimited access to 60+ newline Books, Guides and Courses
        • Interactive, Live Project Demos for Every newline Book, Guide and Course
        • Complete Project Source Code for Every newline Book, Guide and Course
        • Best Value πŸ†

        Frequently Asked Questions

        What is Pain Free Mocking with Jest?

        "Pain Free Mocking with Jest" is how you make testing and mocking simple, painless, and headache-free.

        This means you'll learn how, when, and why to use Mocks, Spies, and Stubs to isolate tests from Databases, APIs, and all dependencies, so you can test entire JavaScript applications without breaking a sweat.

        We'll also go high level, teaching you about testing strategy, git hooks, CI pipelines and how to seamlessly incorporate test runs into your development cycle

        Who is this course for?

        This course is for everyone who is tired of not knowing how and when to use mocks.

        For everyone who wants to feel confident in their testing abilites.

        For everyone who wants to be able to test JavaScript applications from scratch, even if they deal with databases and external APIs.

        For everyone who has to deal with testing at their job or wants to build a working application for themselves.

        And for everyone who wants to make testing paineless and headache-free.

        What if I don't like the course?

        We offer a 30-day money-back guarantee, so if you're not satisfied with the course, you can request a refund within 30 days of purchase byΒ sending us a message.

        What is included in the course?

        This course includes 6 complete modules. It has 37 videos, totaling 2hrs and 28 mins. You’ll have access to every lesson video, textual lesson content, downloadable project code files, interactive IDE, and AI Tutor.

        What are there prerequisites for this course?

        This course assumes you have a basic understand of JavaScript and Node.js.

        How long will it take to complete the course?

        The course offers flexibility, allowing you to learn at your own pace. Start, stop, re-watch anytime. It’s expected that you’d spend approximately 5-7 hours going through the entire course materials.

        Can I access the course on my mobile device?.

        Yes, the course is fully responsive and can be accessed on your mobile device.

        Is there a certificate upon completion of the course?

        Yes, you can get a certificate by sending us a message.

        Can I ask questions during the course?

        Yes, you can ask questions in the comments section of each lesson, and our team will respond as quickly as possible. You can also ask us questions anytime through the community driven Discord channel.

        Can I download the course videos?

        No, the course videos cannot be downloaded, but they can be accessed online at any time.

        What is the price of the course?

        The course is currently priced at $39 USD. Alternatively, you can access the complete course as part of the "newline Pro subscription", which costs $30/month.

        How is this course different from other content available on automated testing?

        There's a fundamental difference between this course and courses you can find on open courseware platforms like EDX and Coursera or even Udemy.

        While some platforms may focus on stacking hours upon hours of the same regurgitated content, going over just the theory and documentation, we remove all the fluff.

        We go straight to the point and show you exactly what you need to know so that you're ready and confident to tackle real-world project in just one afternoon.

        We get practical and show you real-life scenarios and examples on how to and when to use Mocks, Spies, and Stubs. You will not only finish this course faster, but when you're done, you'll also have real-world experience of testing JavaScript applications, which will make you feel confident when testing your own projects.

        Finally, we show you how to design, code, and test an easily testable application. This approach provides a holistic view of software design and enables you to get rid of testing headaches in a way that adds value and improves your application.

        Newline Image

        Pain Free Mocking with Jest

        $69

        $79