- service in module ngMock
A decorator for $controller
with additional bindings
parameter, useful when testing controllers of directives that use bindToController
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | // 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.