Как написать модульное тестирование для Angular / TypeScript для частных методов с Jasmine

Как проверить частную функцию в angular 2?

class FooBar {

    private _status: number;

    constructor( private foo : Bar ) {
        this.initFooBar();

    }

    private initFooBar(){
        this.foo.bar( "data" );
        this._status = this.fooo.foo();
    }

    public get status(){
        return this._status;
    }

}

Решение, которое я нашел

  1. Поместить сам тестовый код в замыкание или добавить код внутри замыкания, в котором хранятся ссылки на локальные переменные существующих объектов во внешней области видимости.

    Позже удалите тестовый код с помощью инструмента. http://philipwalton.com/articles/how-to-unit-test-private-functions-in-javascript/

Пожалуйста, предложите мне лучший способ чтобы решить эту проблему, если вы сделали что-нибудь?

PS

  1. Большинство ответов на вопросы подобного типа, подобные этому, не дают решения проблемы, вот почему я задаю этот вопрос

  2. Большинство разработчиков говорят, что вы не тестируете частные функции, но я не говорю, что они неправильные или правильные, но для моего кейс для тестирования частного.

158
задан tymspy 26 June 2019 в 12:26
поделиться