Cargando…

Testing Angular Applications /

Testing Angular Applications teaches you how to make testing an essential part of your development and production processes. You'll start by setting up a simple unit testing system as you learn the fundamental practices. Then, you'll fine-tune it as you discover the best tests for Angular...

Descripción completa

Detalles Bibliográficos
Otros Autores: Cohn, Corinna
Formato: Electrónico eBook
Idioma:Indeterminado
Publicado: [Place of publication not identified] Manning Publications, 2019.
Temas:
Acceso en línea:Texto completo (Requiere registro previo con correo institucional)
Tabla de Contenidos:
  • Intro
  • 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.