组件代码:
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); }); });
跑!