Test Driven Development using Javascript and Jest

Learn how to use TDD to become a better problem solver

4.45 (114 reviews)
Udemy
platform
English
language
Other
category
instructor
Test Driven Development using Javascript and Jest
3,625
students
1.5 hours
content
Oct 2023
last update
FREE
regular price

What you will learn

Test driven development using Javascript and Jest

Jest testing framework

Game of Life algorithm

TDD fundamentals

Javascript TDD

How to write Unit Tests

Why take this course?

Ever wondered what Test-Driven Development (TDD) truly is? Dive in as we demystify this powerful approach through a hands-on coding challenge.

We'll delve into the world of unit tests, uncovering their role in solving complex tasks in digestible chunks.

Join us as we construct a 'Game of Life' simulation with a twist: writing unit tests comes first.

We'll use Jest to create these tests, piecing together our project in achievable steps until we bring it to life within a browser. Experience the pragmatism of TDD and unit testing firsthand, navigating this course as our co-driver.

Keep in mind that our approach may not cater to all tastes; we encourage you to explore a few free videos to see if we're a match. Our focus is pure, unadulterated JavaScript - no React, no frameworks. We value your satisfaction, and would rather offer a refund than have you leave unsatisfied.

Many believe TDD to be a complex maze, but we're here to show you its simplicity and elegance! Our course outline? We start with an end goal, like 'construct a Game of Life', then atomise it into manageable tasks. If you've worked in a software company, you'd recognise these as user stories. For every selected task, we'll ask: "What tests would prove that this task functions as expected?" Then, the journey unfolds:


  1. Dissect the task and enumerate the tests required for a 'Done' stamp

  2. Heed Kent Beck's advice - "start small or not at all", by writing the simplest test and corresponding code to pass

  3. Stub out dependencies

  4. Gradually transition constants to variables, moving from specific to generic

Excited? Let's turn complexity into simplicity, one test at a time!

Our review

🏆 **Course Overview:** This online course serves as an introduction to Test-Driven Development (TDD) using the Jest testing framework. The instruction style is largely live coding, where the instructor demonstrates writing tests and accompanying code for a game in JavaScript. The course aims to show the process of test creation, code writing, and refactoring in a TDD workflow. **Pros:** - **Introduction to TDD and Jest:** The course provides a good starting point for understanding the basics of TDD and how to use the Jest framework. - **Real-world Application:** Students get to see the principles of TDD applied in real-time through live coding sessions, which can be insightful. - **Process Demonstration:** The instructor's process of alternating between writing tests and code is clearly demonstrated, offering a practical view of TDD. - **Accessibility Considerations:** For those with adequate screen size, the simultaneous display of both `game.js` and `game.spec.js` files allows for a clear understanding of the coding and testing process. - **Interactive Elements:** The hands-on approach encourages students to follow along and actively engage with the material. 🔍 **Considerations for Improvement:** - **Lack of Explanation:** Several reviews mention that the course lacks detailed explanations of why certain steps are taken, including a more profound exploration of TDD philosophy. - **Advanced Knowledge Required:** The course assumes a certain level of prior knowledge in JavaScript and TDD, which may not be explicitly stated, making it less accessible for beginners. - **Content Delivery:** The absence of chapter introductions and summaries makes the course feel a bit rough around the edges. - **Limited Coverage of Jest:** The course focuses heavily on the `toEqual` matcher and a specific use case with `setInterval`, without fully utilizing the broader capabilities of Jest. - **Screen Width Issue:** Some users reported difficulties following the live coding due to the width of the available screen, which cut off parts of the code being written. - **Insufficient Theory:** The course is criticized for its lack of theoretical background on both TDD and Jest, with one reviewer suggesting that simply looking at the Jest documentation would provide more information than what was covered in the course. - **Abstract Logic:** The choice of a game with abstract and mathematical logic as an example made it harder for some students to understand the contours auxiliares (auxiliary accounts) and focus on the course content. **Final Verdict:** The course is a reasonable introduction to TDD with Jest, but it would benefit significantly from more comprehensive explanations of the concepts taught, better structure, and a broader exploration of Jest's features. It is well-suited for those who already have some knowledge of JavaScript and are looking to see TDD in action through live coding. However, students seeking a more theoretical approach or in-depth coverage of Jest might find this course lacking.

Charts

Price

Test Driven Development using Javascript and Jest - Price chart

Rating

Test Driven Development using Javascript and Jest - Ratings chart

Enrollment distribution

Test Driven Development using Javascript and Jest - Distribution chart
2071357
udemy ID
12/6/2018
course created date
10/18/2019
course indexed date
Bot
course submited by