Я использую bindToController в директиве, чтобы иметь изолированную область, непосредственно прикрепленную к контроллеру, например:
app.directive('xx', function () {
return {
bindToController: true,
controller: 'xxCtrl',
scope: {
label: '@',
},
};
});
Тогда в контроллере у меня есть значение по умолчанию, если метка в HTML не указана:
app.controller('xxCtrl', function () {
var ctrl = this;
ctrl.label = ctrl.label || 'default value';
});
Как я могу создать экземпляр xxCtrl в модульных тестах Jasmine, чтобы я мог проверить ctrl.label?
describe('buttons.RemoveButtonCtrl', function () {
var ctrl;
beforeEach(inject(function ($controller) {
// What do I do here to set ctrl.label BEFORE the controller runs?
ctrl = $controller('xxCtrl');
}));
it('should have a label', function () {
expect(ctrl.label).toBe('foo');
});
});
Отметьте этот, чтобы проверить проблему.