JavaScript: Test-Driven Development (ES6)

JavaScript: Test-Driven Development (ES6)

English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 2h 20m | 407 MB

TDD is one of the most hotly discussed subjects in the software development world. Even the most carefully constructed applications grow to the point where debugging and ensuring quality becomes difficult. Test-driven development (TDD) helps with this tremendously by ensuring that all parts of your application are covered by tests. In this course, Shaun Wassell explores the foundational techniques and tools for unit and integration tests. Along the way, he zooms out to examine how they all fit together. Shaun also highlights TDD’s strengths and weaknesses and provides real-world examples that showcase how TDD can fit into your development workflow.

Topics include:

  • Advantages and disadvantages of TDD
  • The basic TDD cycle
  • The purpose of unit testing
  • Testing basic and asynchronous functions
  • How integration tests fit into TDD
  • JavaScript libraries for integration testing
  • Improving your TDD workflow
  • Checking the test coverage of the codebase
Table of Contents

1 Intro video
2 What you should know
3 What this course covers
4 Software installation
5 What is TDD
6 Advantages of TDD
7 Disadvantages of TDD
8 The basic TDD cycle
9 Writing effective tests
10 The three different types of tests
11 The purpose of unit testing
12 JavaScript frameworks for unit testing
13 Writing and running basic tests
14 Testing basic functions
15 Testing asynchronous functions
16 Modifying existing functionality
17 To mock or not to mock
18 Challenge Given criteria, write unit tests
19 Solution Given criteria, write unit tests
20 Introduction to integration testing
21 How do integration tests fit into TDD
22 Test doubles
23 When shouldn’t I use test doubles
24 The two categories of integration tests
25 JavaScript libraries For integration testing
26 Integration testing in practice
27 Testing Node servers with SuperTest
28 Testing an endpoint The basic approach
29 Creating a Mocha setup file
30 Testing database communication Basic setup
31 Database setup and teardown in tests
32 Ignoring object properties in Mocha
33 Using environment variables in testing
34 Creating test helpers
35 Resetting the database between tests
36 Creating test-doubles with Sinon
37 Testing a Node endpoint with SuperTest
38 Implementing a server endpoint
39 Testing a server’s error path
40 Challenge Testing Not Found
41 Solution Testing Not Found
42 Run tests automatically
43 Checking test coverage with NYC
44 Next steps