- service in module ngMock
A decorator for $controller with additional bindings parameter, useful when testing controllers of directives that use bindToController.
// Directive definition ...
myMod.directive('myDirective', {
controller: 'MyDirectiveController',
bindToController: {
name: '@'
}
});
// Controller definition ...
myMod.controller('MyDirectiveController', ['$log', function($log) {
$log.info(this.name);
}]);
// In a test ...
describe('myDirectiveController', function() {
it('should write the bound name to the log', inject(function($controller, $log) {
var ctrl = $controller('MyDirectiveController', { /* no locals */ }, { name: 'Clark Kent' });
expect(ctrl.name).toEqual('Clark Kent');
expect($log.info.logs).toEqual(['Clark Kent']);
}));
});
Usage
$controller(constructor, locals, [bindings]);
Arguments
| Param | Type | Details |
|---|---|---|
| constructor | function()string | If called with a function then it's considered to be the controller constructor function. Otherwise it's considered to be a string which is used to retrieve the controller constructor using the following steps:
|
| locals | Object | Injection locals for Controller. |
| bindings (optional) | Object | Properties to add to the controller before invoking the constructor. This is used to simulate the |
Returns
Object |
Instance of given controller. |
Please login to continue.