Notizen
Unit Testing
Inhalt der Notizen (1)
Seite 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');
});
});
Informationen
- Beschreibung
- A-Level Angular Notiz am Unit Testing, erstellt von James Drummond am 04/05/2015.
- Erstellt von
- James Drummond · Mai 2015
- Aktualisiert
- 19 Feb 2016
- Aufrufe
- 27
- Tags
- Bewertung