Video description
10+ Hours of Video Instruction
Learn How to Use Test-Driven Development Techniques to Create High-Quality JavaScript Applications
Overview
Test-Driven Development for JavaScript LiveLessons brings you step-by-step knowledge to create high-quality JavaScript applications. The course teaches you how to apply test-driven technologies to create reliable and verifiable JavaScript solutions that are maintainable and adhere to best practices.
JavaScript has become an indispensable language in modern-day computing. Writing JavaScript is relatively straightforward but writing high-quality JavaScript and testing it thoroughly is much harder. Test-Driven Development for JavaScript LiveLessons uses Jest for defining and running JavaScript and TypeScript tests. It also covers how to use Jest to test many popular types of JavaScript solutions, including Node.js applications on the server and React and Angular solutions at the client.
Taught by experienced trainer and author, Andy Olsen, this course is your complete guide to mastering writing high-quality JavaScript. The course has hands-on demos throughout the lessons for better understanding of the topic areas.
The resource files for this LiveLesson can be downloaded from https://informit.core.ecollege.net/store/test-driven-development-for-javascript-livelessons-9780137864706
.
About the Instructor
Andy Olsen is a freelance consultant, instructor, and developer with more than 30 years of experience in IT. Andy began his professional career as a C/C++ developer and morphed into Java, C#, and other languages as the years passed by. He is actively involved in a wide range of technologies including full stack development, cloud native applications, data science, and more. He is passionate about technology education and runs training courses around the world across diverse market sectors.
You can find Andy here:
https://www.linkedin.com/in/andy-olsen-481496/
http://olsensoft.com/
Skill Level
Learn How To- Set up a testing environment for JavaScript and TypeScript
- Organize tests into suites
- Write effective tests for the user interface and for server-side code
- Apply mocking techniques effectively
- Test React applications
- Test Angular applications
Who Should Take This Course- Individuals implementing client-side JavaScript web clients or server-side Node.js applications
Course Requirements- JavaScript programming experience, either creating client-side web applications or server-side Node.js applications
About Pearson Video Training
Pearson publishes expert-led video tutorials covering a wide selection of technology topics designed to teach you the skills you need to succeed. These professional and personal technology videos feature world-leading author instructors published by your trusted technology brands: Addison-Wesley, Cisco Press, Pearson IT Certification, Sams, and Que Topics include: IT Certification, Network Security, Cisco Technology, Programming, Web Development, Mobile Development, and more. Learn more about Pearson Video training at http://www.informit.com/video
.
Table of Contents
Introduction
Test-Driven Development for JavaScript: Introduction
Lesson 1: Getting Started with JavaScript Testing
Learning objectives
1.1 Overview of testing in JavaScript
1.2 Getting started with Jest
1.3 Writing and running a test
1.4 Organizing tests into suites
1.5 Using ECMAScript modules
Lesson 2: Using Jest Matchers Effectively
Learning objectives
2.1 Overview of Jest matchers
2.2 Testing for equality
2.3 Testing for range
2.4 Testing for null, undefined, or NaN
2.5 Testing for truth or falsehood
2.6 Testing for object properties
2.7 Testing for collections
2.8 Testing for errors
2.9 Defining and using a simple custom matcher
2.10 Defining and using a parameterized custom matcher
Lesson 3: Writing Effective Tests
Learning objectives
3.1 Performing common setup and teardown operations
3.2 Defining parameterized tests
3.3 Testing for errors
3.4 Testing TypeScript code
3.5 Gathering test coverage information
Lesson 4: Testing Asynchronous Operations
Learning objectives
4.1 Testing callback functions
4.2 Testing errors from callback functions
4.3 Specifying a timeout for tests
4.4 Understanding promises
4.5 Testing promises
4.6 Using the async and await keywords
4.7 Getting started with RxJs
4.8 Going further with RxJs
Lesson 5: Mocking
Learning objectives
5.1 Creating and using a mock function
5.2 Understanding the .mock property
5.3 Using mock functions to mock an API
5.4 Mocking modules
5.5 Mocking promises
5.6 Mocking REST calls
Lesson 6: Additional Mocking Techniques
Learning objectives
6.1 Spying on functions
6.2 Defining a mock implementation for a spy
6.3 Mocking timers
6.4 Mocking timers - additional techniques
6.5 Introduction to ES6 classes
6.6 Defining automatic mocks for ES6 classes
6.7 Defining manual mocks for ES6 classes
Lesson 7: Effective Test-Driven Development (TDD)
Learning objectives
7.1 Overview of TDD
7.2 TDD walkthrough
7.3 Refactoring
7.4 Refactoring with inheritance
7.5 Additional techniques
Lesson 8: Testing the User Interface
Learning objectives
8.1 DOM essentials
8.2 Introduction to JSDOM
8.3 Accessing content using JSDOM
8.4 Loading an HTML file in a test
8.5 Testing JavaScript code that accesses HTML content
8.6 Testing event handlers
8.7 Introduction to Testing Library
8.8 Types of query available in Testing Library
8.9 A closer look at the query API in Testing Library
8.10 Using companion libraries with Testing Library
Lesson 9: Getting Started with Testing React Applications
Learning objectives
9.1 Getting started with React
9.2 Creating a simple React app
9.3 Creating a complete React app
9.4 Understanding React components
9.5 Testing a React app
Lesson 10: Going Further with Testing React Applications
Learning objectives
10.1 Sample React application
10.2 Introduction to Enzyme
10.3 Shallow rendering in Enzyme
10.4 Full DOM rendering in Enzyme
10.5 Static rendering in Enzyme
10.6 Simulating events in Enzyme
10.7 Testing React state in Enzyme
10.8 Testing React effect hooks in Enzyme
10.9 Using React Testing Library
Lesson 11: Getting Started with Testing Angular Applications
Learning objectives
11.1 Getting started with Angular
11.2 Creating an Angular application
11.3 Defining tests for a simple class
11.4 Defining comprehensive tests for a class
11.5 Understanding Angular components
11.6 Testing a component
11.7 Going further with component testing
Lesson 12: Going Further with Testing Angular Applications
Learning objectives
12.1 Testing a component that has state and functions
12.2 Component DOM testing
12.3 Testing a component that has child components
12.4 Defining a component that has inputs and outputs
12.5 Testing a component that has inputs and outputs
12.6 Testing the parent of a component that has inputs and outputs
12.7 Defining a service
12.8 Testing a service
12.9 Defining a pipe
12.10 Testing a pipe
Summary
Test-Driven Development for JavaScript: Summary