Я борюсь с тестом для класса компонента, который расширяет другой абстрактный класс.
Два класса следующие:
export abstract class BaseListComponent {
constructor(
protected someImportantService: SomeImportantService
){
}
handleListInitialization() {
// Do lots of things
this.doOtherStuff();
}
/**
* @abstract doOtherStuff Function
*/
protected abstract doOtherStuff( );
}
export class MyListComponent extends BaseListComponent {
constructor(
someImportantService: SomeImportantService,
private listService: ListService
) {
super( someImportantService );
}
doStuff = () => {
this.handleListInitialization();
}
doOtherStuff(){
this.listService.getThings().then(() => {
// process response...
})
}
}
Я пытаюсь проверить это при вызове doStuff
в MyListComponent
это приведет к вызову listService.getThings()
в методе * 1009. * В отчете показаны строки моей реализации doOtherStuff()
полностью.
Если я вместо этого вызову doOtherStuff()
в моем наборе тестов, то тест пройдёт просто отлично.
Я не Я понимаю, почему это происходит, мне интересно, был ли мой абстрактный базовый класс каким-то образом реализован неправильно, хотя при запуске приложения все работает так, как я ожидал.
В чем здесь может быть проблема?