组件代码:
angular.module('myModule', []).component('myComponent', {
bindings: {
myValue: '<'
},
controller: function(MyService) {
this.service= MyService;
this.componentMethod= function() {
return 2;
};
}
});考试:
describe('myComponent', function() {
var component;
var MyServiceFake = jasmine.createSpyObj(['serviceMethod']);
beforeEach(function() {
module('myModule');
inject(function($componentController) {
// 第一-组件名称,第二-控制器注入,第三-绑定
component = $componentController('myComponent', {
MyService: MyServiceFake
}, {
myValue: 3
});
});
});
/** Here you test the injector. Useless. */
it('injects the binding', function() {
expect(component.myValue).toBe(3);
});
it('has some cool behavior', function() {
expect(component.componentMethod()).toBe(2);
});
});跑!