Unit Testing RxJS with Marble Diagrams
Marble diagrams enables you to understand the behavior of RxJS observables and operators visually. This course will teach you all of the foundational building blocks of Marble testing your RxJS app including hot and cold observables and much more.
What you'll learn
The RxJS library is one of the most popular libraries in the JavaScript world. RxJS provides reactive programming capability in your application. In this course, Unit Testing RxJS with Marble Diagrams, you'll get a complete overview of Marble testing, including what can be accomplished with it, starting with the basics of Marble syntax. First, you'll learn about Marble testing, in full detail, until the point of using it in a real-life web application. Next, you'll explore how to test hot and cold observables including mocking their values in unit tests. Then, you'll discover RxJS operators like zip and concat behaviors using Marble testing. Finally, you'll be shown how to write marble tests against business logic, exception cases, and finding and resolving race conditions using Marble testing. By the time you're done with this course, you'll have the expertise necessary to do Marble testing for RxJS applications and you'll be writing more readable tests around your RxJS code.
Table of contents
- Introduction 2m
- Marble Diagrams: Introduction 4m
- Marble Diagrams: Examples 3m
- Jasmine Marbles: Introduction 1m
- Jasmine Marbles: Why This Library? 1m
- Jasmine Marbles: Learning Its Methods 1m
- Set up Your Test Project 1m
- Selecting Your Editor 1m
- VS Code Editor 1m
- Installing Node 1m
- Source Code Repository 1m
- Demo: Set up Your Test Project 5m
- Marble Syntax: Time Frame 2m
- Marble Syntax: Symbols 1m
- Marble Syntax: Empty and Never RxJS Observables 1m
- Demo: Writing Your First Marble Test 2m
- Summary 1m
- Introduction 1m
- Hot and Cold Observables Building Blocks of RxJS 3m
- Hot Observable Marble Diagrams 3m
- Demo: Hot Observable Marble Diagrams 2m
- Cold Observable Marble Diagrams 3m
- Demo: Cold Observable Marble Diagrams 3m
- Introduction: Marble Testing Hot and Cold Observables 1m
- Understanding Frames in Jasmine Marbles 4m
- Marble Testing for Cold Observable 3m
- Demo: Marble Testing Cold Observable: Part 1 5m
- Demo: Marble Testing Cold Observable: Part 2 4m
- Marble Testing Hot Observable 4m
- Understanding Subscription Model of Hot Observable 2m
- Summary 2m
- Introduction 2m
- Demo: Marble Testing Hot Observable: Part 1 4m
- Demo: Marble Testing Hot Observable: Part 2 2m
- Mocking Observable Values 3m
- Demo: Mocking Observable String Values 4m
- Demo: Mocking Observable Number Values 4m
- Demo: Mocking Observable Array Values 2m
- Demo: Mocking Observable Object Values 2m
- Marble Testing RxJS Operators 1m
- Understanding Marble Diagrams of Concat Operator 2m
- Demo: Marble Testing with Concat Operator 5m
- Demo: Marble Testing Subscription Behavior of Concat Operator 3m
- Demo: Marble Testing Real-world Concat Operator Example 4m
- Understanding Marble Diagrams of Zip Operator 2m
- Demo: Marble Testing with Zip Operator 3m
- Summary 1m
- Introduction 2m
- Test Scheduler in Jasmine Marbles 3m
- Demo: Marble Testing Component by Mocking Service 5m
- Introduction Race Condition 1m
- Demo: Finding Race Condition with Marble Testing 3m
- Demo: Fixing Race Condition and Fixing Unit Test 2m
- Demo: Debounce Time with Marble Testing 5m
- Marble Syntax for Errors 2m
- Demo: Marble Testing for Error Handling 4m
- Module Summary 1m
- Course Summary 1m
- What to Do Next? 3m