Home Page Icon
Home Page
Table of Contents for
Cover
Close
Cover
by Michael Giambalvo, Jesse Palmer, Craig Nishina, Corinna Cohn
Testing Angular Applications
Titlepage
Copyright
Dedication
foreword
preface
acknowledgments
about this book
Who should read this book
How this book is organized: a roadmap
About the code
Book forum
about the authors
about the cover illustration
Chapter 1: Introduction to testing Angular applications
1.1 Angular testing overview
1.2 Getting friendly with TypeScript
1.3 A closer look at test types
1.3.1 Unit tests
1.3.2 E2E tests
1.3.3 Unit tests vs. E2E tests
Summary
part 1: Unit testing
Chapter 2: Creating your first tests
2.1 Writing tests using Jasmine
2.1.1 Writing basic tests
2.2 Testing classes
2.2.1 Adding the rest of the tests
Summary
Chapter 3: Testing components
3.1 Basic component tests
3.2 Real-world component testing
3.2.1 Importing the dependencies
3.2.2 Setting up the tests
3.2.3 Adding the tests
Summary
Chapter 4: Testing directives
4.1 What are directives?
4.1.1 Components vs. directives
4.1.2 Different directives
4.2 Testing attribute directives
4.2.1 Introducing the favorite icon directive
4.2.2 Creating tests for FavoriteIconDirective
4.2.3 Setting up the FavoriteIconDirective test suite
4.2.4 Creating the FavoriteIconDirective tests
4.3 Testing structural directives
4.3.1 Introducing ShowContactsDirective
4.3.2 Creating your tests for ShowContactsDirective
4.3.3 Setting up the ShowContactsDirective test suite
4.3.4 Creating the ShowContactsDirective tests
Summary
Chapter 5: Testing pipes
5.1 Introducing PhoneNumberPipe
5.2 Testing PhoneNumberPipe
5.2.1 Testing the default usage for a pipe
5.2.2 Testing a pipe with a single parameter
5.2.3 Pipes with multiple parameters
Summary
Chapter 6: Testing services
6.1 What are services?
6.2 How do services work in Angular?
6.2.1 Dependency injection
6.2.2 The @Injectable class decorator
6.3 Creating services with Angular CLI
6.4 Testing PreferencesService
6.4.1 Testing for failures
6.5 Testing services with promises
6.5.1 How asynchronous changes testing
6.5.2 Testing for failures with asynchronous services
6.6 Testing HTTP services with observables
Summary
Chapter 7: Testing the router
7.1 What is the Angular router?
7.1.1 Configuring the router
7.1.2 Route guards: the router’s lifecycle hooks
7.2 Testing routed components
7.2.1 Testing router navigation with RouterTestingModule
7.2.2 Testing router parameters
7.3 Testing advanced routes
7.3.1 Route guards
7.3.2 Resolving data before loading a route
Summary
part 2: End-to-end testing
Chapter 8: Getting started with Protractor
8.1 How Protractor works
8.2 Writing your first Protractor test
8.2.1 File structure
8.3 Installing and running
8.4 Interacting with elements
8.4.1 Test scenario: creating a new contact
8.4.2 Test scenario: workflows that don’t create a new contact
8.5 by and element methods
8.6 Interacting with a list of elements
8.6.1 Filtering web elements
8.6.2 Mapping the contact list to an array
8.6.3 Reduce
8.7 Page objects
Summary
Chapter 9: Understanding timeouts
9.1 Kinds of timeouts
9.2 Testing pages without Angular
9.2.1 Disabling waitForAngular
9.2.2 Automatically waiting for Angular
9.2.3 When to use browser.waitForAngularEnabled()
9.3 Waiting with ExpectedConditions
9.3.1 Waiting for the contact list to load
9.3.2 Testing a dialog
9.3.3 Waiting for elements to become stale
9.4 Creating custom conditions
9.4.1 Using browser.wait
9.4.2 Getting elements from the browser
9.5 Handling long-running tasks
9.5.1 Using expected conditions
9.5.2 The browser event loop
9.5.3 What happened to $timeout?
9.5.4 Highway to the Angular zone
9.5.5 Fixing the test
Summary
Chapter 10: Advanced Protractor topics
10.1 Configuration file in depth
10.1.1 Driver provider options
10.1.2 Desired capabilities
10.1.3 Plugins
10.1.4 Environment variables
10.2 Screenshot testing
10.2.1 Taking screenshots
10.2.2 Taking screenshots on test failure
10.2.3 Comparing screenshots
10.3 Experimental debugging features
10.3.1 WebDriver logs
10.3.2 Highlight delay
10.3.3 Blocking proxy
10.4 The control flow and debugging with Chrome DevTools
10.4.1 Asynchronous functions and promises
10.4.2 The WebDriver control flow
10.4.3 The future: async/await
10.4.4 Using Chrome DevTools
Summary
part 3: Continuous integration
Chapter 11: Continuous integration
11.1 Jenkins
11.1.1 Setting up Jenkins
11.1.2 Unit tests
11.1.3 E2E tests
11.2 CircleCI
Summary
Appendix A: Setting up the sample project
Introducing the Angular CLI
Installing prerequisites
Installing the Angular CLI the first time
Updating an old version of the Angular CLI
Installing the sample project
Installing dependencies
Running the application
Appendix B: Additional resources
Angular testing
General testing
Index
Lists of Figures, Tables and Listings
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Next
Next Chapter
Testing Angular Applications
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset