Test-Driven Angular Development


Course Number: ANG-126

Duration: 5 days (32.5 hours)

Format: Live, hands-on

Angular Training Overview

Accelebrate's Test-Driven Angular Development course teaches attendees how to build and test a complete Angular application using test-driven development (TDD) techniques.

Location and Pricing

Accelebrate offers instructor-led enterprise training for groups of 3 or more online or at your site. Most Accelebrate classes can be flexibly scheduled for your group, including delivery in half-day segments across a week or set of weeks. To receive a customized proposal and price quote for private corporate training on-site or online, please contact us.

In addition, some courses are available as live, online classes for individuals. See a schedule of online courses.

Objectives

  • Understand the front-end web development problem that Angular solves
  • Explore development environment for Angular applications
  • Learn the eight building blocks of an Angular application
  • Build a complete Angular application (a completed version of the application is available for review before class)
  • Develop custom building blocks for an Angular application
  • Code Angular applications using test-driven development techniques

Prerequisites

All attendees must have substantial prior experience developing with JavaScript. If attendees will not have prior JavaScript experience, we would be delighted to precede this class with a one- or two-day intensive JavaScript primer.

Outline

Expand All | Collapse All

Introduction
  • What is Angular, and what problem does it solve?
  • Development Environment
Hello World
  • Build a Simple Hello World Application
  • Explore Hello World Architectural Concepts
  • Overview of Eight Building Blocks of Angular
Test Driven Development
  • Assertions
  • JS Exception Handling
  • Jasmine overview
  • TDD vs. BDD
  • Automated Cross-Browser Testing
ES2015 Modules
  • Dividing up an Application (will be covered as each building block of Angular is learned)
  • Export/Import Syntax
  • Library Modules
Angular Modules
  • Role of a Module
  • Creating an AppModule
  • Creating an AppComponent
  • Bootstrapping an Application
  • Setup Modules for Testing
Components & Templates
  • What is a Component?
  • What is a Template?
  • Coding Components
  • Registering with Angular 2 Modules
  • Using Templates
  • Unit Testing Components
Data Binding
  • What is one-time, one way, and two data binding?
  • Common coding patterns for data binding.
  • How Angular 2 performs data binding.
Directives
  • What are Directives?
  • Components - Views
  • Structural – Adding/Removing/Modifying DOM Elements
  • Attribute – Changing the Appearance or Behavior of a DOM Elements
Pipes
  • Using Pipes: Date, Currency, Json, UpperCase, LowerCase, etc.
  • Custom Pipes
  • Stateful Pipes
  • Async Pipes
  • Registering Pipes with Angular Modules
  • Unit Testing Custom Pipes
Routing
  • What problem does Routing solve?
  • Using the Router Module
  • Common patterns for implementing client-side routing.
  • Configuring Route Definitions
  • Adding Routing to an Application
  • RouterLink & RouterOutlet Directives
  • Unit Testing Routing
Forms
  • Benefits of Angular Forms
  • Using the Forms Module
  • Working with Common HTML Form Elements
  • Data Binding with ngModel
  • Tracking Control State and Validity with ngControl
  • Using ngForm and ngSubmit
  • Using CSS and Control Object Model to Display Validation Messages
  • Unit Testing Forms
Services
  • What problem do Services solve?
  • Dependency Injection
  • Registering Services with Modules
  • Injectable Classes
  • Using the Http Class to connect to a REST Service
  • Practical Applications of Injectable Classes
  • Hierarchical Injectors
  • Unit Testing Services
Component Lifecycle
  • What is the Component Lifecycle?
  • Two Phases of Angular Applications
  • Examine each stage of the Lifecycle
  • Compiling and the Dynamic Component Loader
Custom Attribute Directives
  • Purpose of Attribute Directives
  • Registering Custom Directives with Modules
  • Using the Renderer
  • Creating Attribute Directives
  • Unit Testing Custom Attribute Directives
Custom Structural Directives
  • Purpose of Structural Directives
  • Difference between display none, and removing elements.
  • Purpose of the asterisk and the template tag when using structural directives.
  • Creating Structural Directives
  • Unit Testing Custom Structural Directives
Conclusion
  • Review application built in class with Angular Building Blocks
  • Review Eight Building Blocks of Angular
  • Review the purpose of each Angular building block
  • Review when and how to build custom building blocks

Training Materials:

All Angular training attendees receive comprehensive courseware.

Software Requirements:

  • Google Chrome
  • Other modern browsers as desired
  • IDE/development environment of your choice
  • Other free software and lab files that Accelebrate would specify


Learn faster

Our live, instructor-led lectures are far more effective than pre-recorded classes

Satisfaction guarantee

If your team is not 100% satisfied with your training, we do what's necessary to make it right

Learn online from anywhere

Whether you are at home or in the office, we make learning interactive and engaging

Multiple Payment Options

We accept check, ACH/EFT, major credit cards, and most purchase orders



Recent Training Locations

Alabama

Birmingham

Huntsville

Montgomery

Alaska

Anchorage

Arizona

Phoenix

Tucson

Arkansas

Fayetteville

Little Rock

California

Los Angeles

Oakland

Orange County

Sacramento

San Diego

San Francisco

San Jose

Colorado

Boulder

Colorado Springs

Denver

Connecticut

Hartford

DC

Washington

Florida

Fort Lauderdale

Jacksonville

Miami

Orlando

Tampa

Georgia

Atlanta

Augusta

Savannah

Hawaii

Honolulu

Idaho

Boise

Illinois

Chicago

Indiana

Indianapolis

Iowa

Cedar Rapids

Des Moines

Kansas

Wichita

Kentucky

Lexington

Louisville

Louisiana

New Orleans

Maine

Portland

Maryland

Annapolis

Baltimore

Frederick

Hagerstown

Massachusetts

Boston

Cambridge

Springfield

Michigan

Ann Arbor

Detroit

Grand Rapids

Minnesota

Minneapolis

Saint Paul

Mississippi

Jackson

Missouri

Kansas City

St. Louis

Nebraska

Lincoln

Omaha

Nevada

Las Vegas

Reno

New Jersey

Princeton

New Mexico

Albuquerque

New York

Albany

Buffalo

New York City

White Plains

North Carolina

Charlotte

Durham

Raleigh

Ohio

Akron

Canton

Cincinnati

Cleveland

Columbus

Dayton

Oklahoma

Oklahoma City

Tulsa

Oregon

Portland

Pennsylvania

Philadelphia

Pittsburgh

Rhode Island

Providence

South Carolina

Charleston

Columbia

Greenville

Tennessee

Knoxville

Memphis

Nashville

Texas

Austin

Dallas

El Paso

Houston

San Antonio

Utah

Salt Lake City

Virginia

Alexandria

Arlington

Norfolk

Richmond

Washington

Seattle

Tacoma

West Virginia

Charleston

Wisconsin

Madison

Milwaukee

Alberta

Calgary

Edmonton

British Columbia

Vancouver

Manitoba

Winnipeg

Nova Scotia

Halifax

Ontario

Ottawa

Toronto

Quebec

Montreal

Puerto Rico

San Juan