Javascript-форум (https://javascript.ru/forum/)
-   Angular.js (https://javascript.ru/forum/angular/)
-   -   Получить доступ к приват методам для тестов (https://javascript.ru/forum/angular/76698-poluchit-dostup-k-privat-metodam-dlya-testov.html)

7ver2009 04.02.2019 17:52

Получить доступ к приват методам для тестов
 
Angular 6
Доброго времени суток. Начал писать юнит тесты к проекту, столкнулся со следующей проблемой - в проекте часть методов являются приватными, и в тесте мне необходимо вызвать их из другой функции. TS соответственно ругается на то что нельзя обратится к приватным методам извне.
Как победить? Неможет же быть такого что в TS вообще непредусмотрен достум к таким методам для тестов? Они же тогда тотально бесполезны.

destus 05.02.2019 14:26

7ver2009,
как обычно можно использовать заглушки вида
(obj as any).callPrivateMethod();

7ver2009 06.02.2019 19:42

Уже разобрался можно просто через квадратные скобки вызывать:
component['_privateMethod']();

и spy сущности через any формировать
spyOn<any>(component, '_privateMethod');


Часовой пояс GMT +3, время: 09:14.