Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Testing Angular 2 Applications - HTML5 Denver 2016


Published on

The best reason for writing tests is to automate your testing. Without tests, you'll likely be testing manually. This manual testing will take longer and longer as your codebase grows. In this session, you’ll learn how to test an Angular 2 application. You'll learn how to use Jasmine to unit testing components and Protractor for integration testing. We’ll also take a look at code coverage options and explore continuous integration tools.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Testing Angular 2 Applications - HTML5 Denver 2016

  1. 1. Testing 2 Applications Photos by McGinity Photo Matt Raible • @mraible
  2. 2. Blogger on UI Architect and Java Champion Father, Skier, Mountain Biker, Whitewater Rafter Web Framework Connoisseur Who is Matt Raible? Bus Lover
  3. 3. What about YOU? How long have you been doing web development? Do you like JavaScript? What’s your favorite JavaScript framework? Why are you here?
  4. 4. Quality “A person who knows how to fix motorcycles—with Quality—is less likely to run short of friends than one who doesn't. And they aren't going to see him as some kind of object either. Quality destroys objectivity every time.” — Zen and the Art of Motorcycle Maintenance
  5. 5. Software Testing With motorcycles, you drive to test them. With software, you can test it without driving it. Or rather, you can automate the driving. If you don’t automate tests, you’re still testing!
  6. 6. Hello World with AngularJS <!doctype html> <html ng-app> <head> <title>Hello World</title> </head> <body> <div> <label>Name:</label> <input type="text" ng-model="name" placeholder="Enter a name here"> <hr> <h1>Hello {{name}}!</h1> </div> <script src=""></script> </body> </html>
  7. 7. Hello World with Angular 2 <html> <head> <title>Angular 2 QuickStart</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="styles.css"> <!-- 1. Load libraries --> <!-- Polyfills, for older browsers --> <script src="node_modules/core-js/client/shim.min.js"></script> <script src="node_modules/zone.js/dist/zone.js"></script> <script src="node_modules/reflect-metadata/Reflect.js"></script> <script src="node_modules/systemjs/dist/system.src.js"></script> </head> </html>
  8. 8. Hello World with Angular 2 <!-- 2. Configure SystemJS --> <script> System.config({ packages: { app: { format: 'register', defaultExtension: 'js' } } }); System.import('app/main') .then(null, console.error.bind(console)); </script> </head> <!-- 3. Display the application --> <body> <my-app>Loading...</my-app> </body> </html>
  9. 9. app/main.ts import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; import { AppComponent } from './app.component'; platformBrowserDynamic().bootstrapModule(AppComponent);
  10. 10. app/app.component.ts import { Component } from '@angular/core'; @Component({ selector: 'my-app', template: '<h1>My First Angular 2 App</h1>' }) export class AppComponent { }
  11. 11. Angular 2 QuickStart
  12. 12. Easiest ways to get started Angular 2 QuickStart Angular 2 Seed Angular CLI
  13. 13. Let’s take a look at a few things… Angular CLI TypeScript Components and Services IntelliJ IDEA Unit Tests Protractor Tests Continuous Integration
  14. 14. Angular CLI npm install -g angular-cli ng new ng2-demo cd ng2-demo ng serve ng test ng e2e ng g component ng g service ng build ng --help
  15. 15. TypeScript npm install -g typescript function greeter(person: string) {
 return "Hello, " + person;
 var user = "Jane User";
 document.body.innerHTML = greeter(user); tsc greeter.ts
  16. 16. Demo Time!
  17. 17. Learn more about Angular CLI
  18. 18. Style Guides Angular 2 Official Style Guide John Papa’s AngularJS Style Guide
  19. 19. ng-book 2 A comprehensive guide to developing with Angular 2 Sample apps: Reddit clone, Chat with RxJS Observables, YouTube search-as-you-type, Spotify Search How to write components, use forms and APIs Over 5,500+ lines of code!
  20. 20. When will Angular 2 be released?
  21. 21. Resources Demo Code Step-by-step Tutorial %2FREADME.adoc
  22. 22. Contact Me! @mraible Presentations Code Questions?