AngularJS, Gulp Automation e Unit Test

AngularJS e NodeJS – Router, autenticazione e comunicazione con il server
14 aprile 2017
Building bootstrap responsive layout
14 aprile 2017
Frontend Development

AngularJS, Gulp Automation e Unit Test

Fare Unit Testing è alla base dello sviluppo di applicazioni stabili e mantenibili. Importanti anche nello sviluppo di un progetto creato da un solo sviluppatore diventano fondamentali lavorando in team, permettendo al progetto di procedere avendo la garanzia che le funzionalità gradualmente introdotte si integrino correttamente nell’ambiente applicativo esistente. Sviluppando interfacce utente è inoltre necessario affiancare gli Unit Test con gli End to End Test (e2e) al fine di garantire una corretta User Experience sui diversi browser e sistemi operativi.

Gulp è invece uno strumento potentissimo per l’automazione e viene utilizzato per gestire e automatizzare lo scaffold del progetto e per creare le versioni dell’applicazione da distribuire. E’ possibile quindi concatenare, spostare e rinominare files, minificarli, ottimizzare l’applicazione e automatizzare diverse attività che richiederebbero invece diverso tempo se fossero effettuate manualmente. Gulp si differenzia dalla maggior parte degli altri strumenti di automazione per lo sviluppo di Web Application in quanto permette la scrittura dei propri task utilizzando plain Javascript, essendo quindi molto più immediato e semplice da comprendere.

Prerequisiti

Questo corso è pensato per gli sviluppatori che già utilizzano AngularJS e conoscono le potenzialità del framework.  Il partecipante dovrebbe quindi avere una certa dimestichezza nell’utilizzo e creazione di direttive e servizi personalizzati e nella gestione del routing in AngularJS. Il partecipante dovrebbe conoscere buona parte delle nozioni affrontate durante i corsi Sviluppare applicazioni web con AngularJS e  Mastering AngularJS

Obiettivi formativi

Il partecipante acquisirà confidenza con Gulp e con gli strumenti di automazione e sarà in grado di realizzare Unit Test e test e2e in applicazioni AngularJS. Si vedrà come creare test per i principali componenti applicativi offerti da AngularJS.

Programma

Gulp in AngularJS

  • Creazione pacchetti e gestione dipendenze con npm e Bower
  • Utilizzo di Gulp per creare versioni di distribuzione
  • Minificare, concatenare e distribuire il codice
  • Utilizzo di ngAnnotate e di diversi moduli Gulp
  • Creazione dinamica del file index.html e di tutte le inclusioni javascript


Distribuire differenti versioni in Gulp

Creare differenti versioni delle vostre applicazioni AngularJS automatizzando i processi di esportazione in Gulp. In particolar modo il partecipante apprenderà differenti tecniche per:

  • Creare e distribuire differenti layout CSS
  • Gestire e integrare con bower
  • Abilitare o disabilitare funzionalità sulla base del ruolo o del cliente
  • Suddividere l’applicazione in moduli che saranno poi importanti da Gulp separamente per creare script di distribuzione ottimizzati che includono solo i moduli necessari al funzionamento dell’app.
  • Gestire il routing con Angular UI Router e Gulp


E2E test con Protractor

Una panoramica su come scrivere test e2e con Protractor e su come avviare i test direttamente su un browser, interagendo con l’app come se fosse un utente reale:

  • Installare e configurare Protractror
  • Creare e avviare test su diversi browser
  • Generare screenshot
  • Esempi di utilizzo in AngularJS


Unit Test in AngularJS e Karma

In questa sessione si apprenderanno le tecniche per effettuare unit test in AngularJS tramite l’utilizzo di Karma e Jasmine da riga di comando.
In particolar modo, si effettueranno test sui seguenti costrutti AngularJS:

  • Custom filter
  • Controller
  • Controller as Provider
  • Direttive con link function
  • Direttive che manipolano il DOM
  • Direttive con template custom
  • Direttive con scope isolato
  • Direttive e require
  • Direttive con transclusion 3.2
  • Remote services