2. ANGULARJS – HTML FOR WEB APPS
An open source web application framework for web
applications
Maintained & promoted by Google
Enhances web apps with MVC – Model View
Controller
3. WHERE HTML FALTERS
HTML is the most trustworthy for declaring static
documents
There are known challenges for implementing web
apps with HTML
4. ENHANCING HTML WITH
ANGULARJS
AngularJS extends the HTML vocabulary to cater to the dynamic
views
The libraries read HTML containing tag attributes to follow the tag
directives
The input or output of the page is bound to a model, represented by
JavaScript variables
These values are manipulated from Static or Dynamic JSON
resources
The two way data binding makes it an effective tool for efficiently
building client-side web apps
6. KARMA
Test on Real Devices
Test your code on real browsers and real devices such as phones,
tablets
Remote Control
Control the whole workflow from the command line or the IDE
When a file is saved, Karma will run all the tests
Testing Framework Agnostic
Describe tests with Jasmine, Mocha, QUnit or write a simple
adapter for any framework of choice
7. …KARMA
Open Source
Developed for and maintained by the open source community at
GitHub
Easy Debugging
Easy debugging directly from your IDE via WebStorm or Google
Chrome
Continuous Integration
Simple integration with Jenkins, Travis or Semaphore
8. ANGULAR MOCKS
A Namespace from 'angular-mocks.js'
Contains testing related code
Provides support for injecting and mocking Angular services in unit
tests
9. PROTRACTOR
An E2E test framework for Angular apps
A feature testing tool for AngularJS
Launches the app in a browser to interacts via Selenium
10. MOCHA
Claimed to be simple, flexible and fun
A feature-rich, JavaScript test framework running on node.js
It is a browser for asynchronous testing
Tests run serially, allowing flexible and accurate reporting
Map uncaught exceptions to the correct test cases
Enables writing describe blocks and making assertions
11. CHAI
A BDD / TDD assertion library for node.js
It is a browser can be coupled with any JavaScript testing
framework
An Assertion library that hooks into Mocha giving access to
Behavior-Driven Development assertions
12. CHAI AS PROMISED
A Chai plug-in
Helpful for dealing with function calls that return a promise
Extends Chai with assertions about promises
13. LODASH
A Utility Library delivering
Consistency
Customization
Performance
Used to extend JavaScript to make it easier to work with
14. SINON
A standalone test, spies, stubs and mocks for JavaScript
Has no dependencies
Works with any unit testing framework
Is a Stubbing and mocking library
Used to mock out directive & controller dependencies in unit tests
Checks the correctness of arguments in functions