Typing the Test Suite

via Udemy

Go to Course: https://www.udemy.com/course/typing-the-test-suite/

Introduction

Certainly! Here's a comprehensive review and recommendation of the Coursera course on testing with Jest and TypeScript: --- **Course Review: Testing with Jest and TypeScript on Coursera** This course is an excellent choice for developers who are at an intermediate level and want to deepen their understanding of testing in JavaScript and TypeScript environments. With a compact duration of just 2 hours, it offers a rich and practical learning experience that is both fast-paced and highly engaging. **What Makes This Course Stand Out?** - **Hands-On Approach:** The course emphasizes a practice-oriented methodology, beginning with simple Jest tests and quickly progressing to more complex project work, including developing a String Calculator. This approach helps solidify concepts through real-world application. - **Comprehensive Coverage:** It covers a wide range of testing topics, from basic assertions and matchers to advanced techniques like mocking, custom matchers, and asynchronous testing. - **Framework and Tool Coverage:** The course is up-to-date with popular technologies such as Jest (v26), TypeScript (v4), React 17, and React Testing Library, making it highly relevant for modern web development. - **For the Motivated Learner:** It is ideal for developers with some JavaScript or TypeScript experience, especially those familiar with Node.js or React, eager to expand their testing toolkit. **Who Should Enroll?** - Developers with a foundational understanding of JavaScript and TypeScript. - Those familiar with Node.js, Express, or React and looking to incorporate testing into their workflow. - Highly motivated beginners who are comfortable jumping into complex topics and want to learn testing rapidly. **Pros:** - Concise yet content-rich, providing a solid primer on Jest testing. - Practical project-based exercises enhance understanding. - Deep dive into advanced Jest features and best practices. - Suitable for developers looking to integrate testing into existing projects with modern tech stacks. **Cons:** - The fast pace may be challenging for absolute beginners. - Assumes some prior knowledge of Node.js and React, so complete novices might find it steep. **Final Thoughts and Recommendations** This course is highly recommended for intermediate developers who want a quick yet thorough overview of testing with Jest and TypeScript. Its practical approach, combined with advanced tips and tricks, makes it an invaluable resource for those aiming to write robust, reliable code. If you're looking to boost your testing skills with modern tools in a short amount of time, this course is an excellent choice. --- Let me know if you'd like a more detailed syllabus breakdown or suggestions on next steps after completing this course!

Overview

What is this?A quick course for intermediate level developers looking to get started with testing using Jest and TypeScript.The first section focuses on using Jest with JavaScript and a bit of TDD. The rest of the course uses TypeScript, Jest, with either Node.js or React. It's 2 hours long and full of content.We move fast, break things, then write tests to make sure they don't break again. The technologies used are:Jest (v26)TypeScript (v4)React.js (v17)React Testing Library (v11)Who is this for?Developers with some JavaScript/TypeScript, Node.js and React experience who'd like to learn to write tests.Highly motivated beginner who likes to jump in the deep end.Required knowledgeI assume students have basic JavaScript knowledge. The Node.js section assumes basic Node.js/Express knowledge, and the React section assumes some React knowledge. The testing concepts are largely unrelated to those specific frameworks, so as long as you have some programming experience, you should be fine.Curriculum1.0 IntroductionGet everything setup and starting writing some tests with Jest.1.1 Installation1.2 Your First Test1.3 Adding an Assertion1.4 Describing and Grouping Tests1.5 Feedback Loop with Watch Mode1.6 It.each for Concise Tests2.0 Project: String CalculatorPut the skills learned in section one into practice by completing the String Calculator Kata.2.1 The First Test2.2 Handling Whitespace2.3 Throwing an Error2.4 Testing the Error2.5 Validating the Test Suite with a Functional Refactor2.6 Completing the Functional Refactor3.0 Matcher MadnessDo a deep dive into the various matchers Jest provides, from toBe and toEqual to the more exotic resolves and rejects matchers.3.1 toBe3.2 toEqual, not3.3 toHaveProperty3.4 Resolves matcher for Promises3.5 Rejects matcher for Errors3.6 toHaveBeenCalled and Mock Functions3.7 Waiting with the Done Callback4.0 TypeScript, Node.js and JestWe introduce TypeScript and Jest by developing and testing a Node.js API. Note: This section assumes basic knowledge of Node.js and Express.4.1 TypeScript and Jest with ts-jest4.2 Express Setup4.3 The Jest Lifecylce: Before and After Hooks4.4 Better Types4.5 Adding JWT and a Refactor4.6 Authorization Header4.7 Testing for Success4.8 Testing for Failure4.9 Alternative Failed Assertion Syntax4.10 Summary5.0 TypeScript, React and Testing in a DOM EnvironmentBuild a toy React app and see how to use TypeScript and Jest for DOM based testing with Testing Library. Note: this section assumes basisc knowledge of React.5.1 Create React App and TypeScript5.2 Rendering with Testing Library5.3 Testing Library Assertions - getByText5.4 useState and Asynchronous Assertions5.5 Fetchign Data with useEffect5.6 More Async Behavior with findAll5.7 Mocking Axios with Jest Mocks5.8 Toggling Todos6.0 Jest Tips and TricksLearn some of Jest's more advanced features. Write your own custom matchers with TypeScript and write more robust, reuseable and (mostly) type-safe mocks.6.1 Section Overview6.2 Custom Matcher API6.3 Implementing the Matcher6.4 Typing the Matcher6.5 Setting up for Module Mocking6.6 Inline Mocks Review6.7 The Problem with Inline Mocks6.8 Manual Mocks6.9 Default Module Data6.10 Typing the Mock Module6.11 Improving the Spec Types6.12 Jest Spies6.13 What Next? More Learning ResourcesI have more questions!Send me an email.

Skills

Reviews