GoConqr has a new look! Let us know what you think.

Notes

Unit Testing

James Drummond Angular A-Level English 1 page

Content of the notes (1)

Page 1

Mainly this is to do with unit testing directives, in particular directives with external templates (which have to be compiled to be made available)

See: http://www.portlandwebworks.com/blog/testing-angularjs-directives-handling-external-templates

Keep in mind that, in terms of functionality, it is *much* easier to test controllers than it is to test directives.

- Therefore keep the functionality in a directive to a minimum. If the directive needs a function that has anything to do with business logic then that function should be inherited from the controller (where it can be more easily tested).

Unit testing a controller with an asynchronous service - Mock the service and inject it into the controller.

- REMEMBER YOU MUST CALL scope.$digest(); AFTER THE ASYNCHRONOUS CALL IS MADE IN THE SERVICE TO UPDATE ANY VARIABLES THAT ARE CHANGED BY THE CALL

Testing controlleras syntax (and a cleaner way of injecting controllers) describe('MainCtrl', function() { var scope;

beforeEach(function(){

module('myModule');

inject(function($controller, $rootScope) {

scope = $rootScope.$new();

var localInjections = {

$scope: scope,

};

$controller('MainCtrl as main', localInjections);

});

});

it('should expose title', function() {

expect(scope.main.title).equal('Some title');

});

});

Information

Description
A-Level Angular Note on Unit Testing, created by James Drummond on 04/05/2015.
Created by
James Drummond
Views
27
Rating

Feedback

What is it about?

What do you think of the new look?

How do you like it?