Acceptance Testing in Node.js 6
This course will teach you about acceptance tests - tests which enter just beneath the UI and enable you to increase the quality of your code, improve your development process, and deliver customer value.
What you'll learn
UI tests are comprehensive, but they are also brittle. Unit tests are reliable, but they don't test interactions between units. Acceptance tests help fill the need for testing user scenarios without the brittleness of UI tests. In this course, Acceptance Testing in Node.js 6, you will learn the what, why, and how of acceptance tests. First, you will learn what acceptance tests are and why you should write them. Next, you will explore how to write acceptance tests for existing code, including using SuperTest. Finally, you will see how to use acceptance tests to drive your code with acceptance test driven development. When you're finished with this course, you will have the skills and knowledge of acceptance testing needed to increase the quality of your code, improve your development process, and deliver customer value.
Table of contents
- Introduction 1m
- Prerequisites 3m
- Demo Application 2m
- Installing Git and Node 3m
- Installing MongoDB 2m
- Get the Code and Run the App 4m
- Familiarize Yourself with the Code - App Startup and Routing 6m
- Familiarize Yourself with the Code - Business Logic and Data Access Layers 5m
- Familiarize Yourself with the Code - Integration Tests 10m
- Familiarize Yourself with the Code - Unit Tests 4m
- Summary 1m
- Introduction 1m
- First Acceptance Test 8m
- Start Test Instance Automatically 10m
- Acceptance Test to Catch a Bug - Extract GET Helper 5m
- Acceptance Test to Catch a Bug - Extract POST and DELETE Helpers 2m
- Acceptance Test to Catch a Bug - Failing Acceptance Test 6m
- Acceptance Test to Catch a Bug - Fix Bug and Passing Acceptance Test 9m
- Refactor Acceptance Test 8m
- Summary 1m
- Introduction 2m
- What Is SuperTest? 3m
- SuperTest: Setup 3m
- SuperTest: API Calls 2m
- SuperTest: Assertions with .expect() 3m
- SuperTest: Assertions with .then() or .end() 7m
- Demo: Refactor First Test to SuperTest 7m
- Demo: Different Structure for First Test 1m
- Demo: Refactor Second Test Block to SuperTest 4m
- Demo: Test Cleanup with SuperTest 3m
- SuperTest vs. Hand Rolled 3m
- Summary 1m
- Introduction 2m
- Failing Acceptance Test - Two Lists with Names 5m
- Passing Acceptance Test - Two Lists with Names 4m
- When Can You Ship? 2m
- Failing Acceptance Test - Getting a List by Id 4m
- Passing Acceptance Test - Getting a List by Id 6m
- Acceptance Test - Getting All Lists for a User 6m
- Make UI Changes to Support Multiple To Do Lists 5m
- Retrospect 3m
- Summary 1m