Improve this Doc View Source $controller
- 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. |
© 2010–2017 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.4.14/docs/api/ngMock/service/$controller