Как мне просто проверить, что мой сервис называется?
myComp.ts
constructor(private myService: MyService) {}
myFunction() {
this.myService.someFunction();
}
myTest.ts
beforeEach(async(() => {
TestBed.configureTestingModule({
imports: [ReactiveFormsModule, FormsModule, HttpClientModule],
declarations: [MyComponent]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(MyComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should delete customer feed', () => {
const mySpy = spyOn(MyService, 'someFunction');
component.myFunction();
expect(mySpy).toHaveBeenCalledTimes(1);
});
В настоящее время строка const mySpy = spyOn(MyService, 'someFunction');
отображает красные кривые при 'someFunction'
, заявляя:
Аргумент типа 'someFunction' не может быть назначен параметру типа prototype |сервис |url
Обновление Как мои настройки теперь в соответствии с комментариями:
let myService: MyService;
beforeEach(() => {
...
providers: [MyService],
...
.compileComponents()
});
beforeEach(() => {
fixture = TesBed.createComponent(MyComponent);
component = fixture.componentInstance;
fixture.detectChanges();
myService = TestBed.get(MyService);
});
Обновление (решение) Я все еще использовалверхний регистр MyService, а не строчный myService в моем определении шпиона!