Books & Videos

Table of Contents

Chapter: Introduction

Types Of Software Testing

07m 30s

The Testing Pyramid

06m 38s

What You Will Learn In This Course

04m 9s

About The Author

02m 21s

How To Access Your Working Files

01m 15s

Chapter: Unit Testing Basics

Unit Testing Terminology

09m 45s

What A JavaScript Unit Test Looks Like

05m 41s

Writing Your Own Javscript Unit Test

04m 37s


07m 24s

The Role Of Code Coverage

07m 7s

How JavaScript Unit Test Is Different

06m 59s

JavaScript Unit Test Flow

05m 14s

Manual Unit Testing

06m 48s

JavaScript Unit Test Frameworks

08m 4s

Running Unit Tests

04m 2s

JavaScript Unit Test Environments

07m 54s

Synchronous And Asynchronous Unit Tests

05m 46s

Introduction Test Driven Development

04m 36s

Test Driven Development In Practice

12m 32s

Chapter: Coding For Testability

What Is Testable Code?

05m 27s

Cyclomatic Complexity

07m 56s

Fan-In And Fan-Out

06m 30s


07m 14s

Inheritance Or Composition?

10m 7s

Code Injection

09m 21s

Using Decorators

07m 47s

Leveraging Abstract Factories

06m 38s

Measuring Complexity

09m 29s

Getting To Testability

07m 48s

Chapter: Jasmine

Introduction To Jasmine

11m 2s

Jasmine On The Client

05m 27s

Jasmine On The Server

07m 1s

Starting Your First Test

07m 36s

Writing Your First Test

11m 24s

Selecting Tests

06m 2s

Running Tests

06m 18s

Introduction To Basic Matchers

08m 32s

More Basic Matchers

08m 9s

Asymmetric Matchers

10m 5s

Introduction To Custom Matchers

06m 25s

Custom Matcher Error Messages

04m 32s

Custom Matcher Example - toBeVisible

08m 13s

Basic Spying

06m 23s

More Spying

07m 17s

Advanced Spying

09m 3s

Setup And Teardown - Nesting

07m 50s

Setup And Teardown - Variables

09m 4s

Asynchronous Tests

06m 41s

Chapter: Extending Jasmine

Introduction To is.js

04m 57s

Integration is.js With Jasmine

10m 50s

Jasmine - Matchers And Promises

06m 57s

Introduction To saywhen

05m 47s

saywhen And Captors

04m 35s

Mocking Time

05m 56s

Introduction To Mocking Ajax

09m 50s

Mocking Ajax Responses

06m 45s

Encapsulation Mocked Ajax

03m 30s

Introduction To Jasmine-jQuery Matchers

08m 19s

Introduction To Jasmine-jQuery Fixtures

05m 18s

Using Jasmine-jQuery Fixtures

07m 15s

Jasmine-jQuery Fixtures And The Dom

07m 11s

Testing With Jasmine-jQuery Fixtures

07m 5s

Other Fixture Operations

04m 40s

Event Spies

08m 13s

Introduction To Code Coverage With Istanbul

07m 5s

Manual Code Coverage Generation

07m 18s

Chapter: Other JavaScript Testing Frameworks

Introduction To QUnit

07m 50s

Using Qunit

06m 30s

More QUnit

06m 10s

Introduction To Mocha

06m 27s

More Mocha

06m 37s

Even More Mocha

05m 27s

Introduction To Tape

05m 46s

Using Tape

06m 43s


08m 16s

Sinon.JS And Spies

09m 11s

Sinon.JS Stubs

08m 43s

Sinon.JS Mocks

09m 15s

Sinon.JS Mocking Ajax

07m 27s

Introduction To Istanbul

06m 34s

Using Istanbul

08m 23s

Introduction To Selenium WebDriver

06m 56s

Using WebDriver

06m 11s

WebDriver And GhostDriver And PhantomJS

04m 58s

Chapter: Headless And Scriptable Browsers

Introduction To PhantomJS

07m 7s

Using PhantomJS With Jasmine

07m 0s

Scripting PhantomJS And Waits

03m 53s

Introduction To SlimerJS

06m 19s

Using SlimerJS

06m 5s

Introduction To CasperJS

05m 59s

CasperJS Test API

07m 0s

Introduction To Xvfb

06m 30s

Using Xvfb

04m 57s

Chapter: Automation

The Role Of Automation

07m 40s

How To Automate

09m 54s

Introduction To Karma

09m 0s

Using Karma

07m 23s

Karma In The Real World - Part 1

08m 30s

Karma In The Real World - Part 2

05m 51s

Karma In The Real World - Part 3

06m 46s

Karma And Code Coverage

07m 2s


06m 19s


06m 22s


06m 5s


07m 24s

Introduction To npm - package.json And semver

06m 52s

npm Dependencies And Scripts

06m 15s

npm Configuration Variables

04m 38s

npm And Versions And Shrinkwrap

07m 55s

Chapter: Continuous Integration

What Is Continuous Integration?

06m 6s

Getting Started With Jenkins

06m 15s

Jenkins Project Setup

04m 29s

Jenkins Capturing Test Output

06m 56s

Jenkins And Checkstyle

04m 22s

Jenkins And Code Coverage

07m 10s

Jenkins And Gulp

06m 56s

Using GitHub

04m 47s

Introduction To Travis CI

05m 37s

Preparing Your GitHub Repo For Travis CI Integration

08m 24s

Travis CI And Headless Testing With Firefox And Xvfb

07m 57s

Travis CI Wrap-Up

06m 10s

Chapter: Wrap-Up

What We Have Learned

11m 53s