Как протестировать приватные методы / объявления, используя «testing-library» - PullRequest
0 голосов
/ 16 марта 2020

Есть ли способ протестировать закрытый метод или объявление с использованием фреймворка "testing-library" в angular?

вот мой код:

priave name = "somename"
 private setLang(url: string, fetch: boolean) {
    switch (url) {
          case '/SSB/mngt':
              this.SSB.Id = 'newSSb';
              this.pageId = 'ManageEvent';
            break;
          case '/SSB/mngt/add':
            this.SSB.Id = 'newSSb';
            this.pageId = 'ManageEventAdd';
          break;
          case '/SSB/mngt/view':
            this.SSB.Id = 'newSSb';
            this.pageId = 'ManageEventView';
          break;
          case '/SSB/mngt/approve':
            this.SSB.Id = 'newSSb';
            this.pageId = 'ManageEventApprove';
          break;
          default:
            this.SSB.Id = 'setupConfig';
            this.pageId = 'ViewProgMgmt';
            break;
    }

    this.data = [];
    this.data.push(this.selectedLang);
    this.data.push(this.SSB.Id);
    this.data.push(this.pageId);
    this.data.push(fetch);
    this.langId.emit(this.data);

  }

и приватный name объявление и setLang метод недоступен, есть файл spe c. Какой будет правильный способ справиться. кажется, что, если я не напишу контрольный пример для моей частной декларации, я не смог бы достичь покрытия как 100%.

1 Ответ

1 голос
/ 16 марта 2020

Мы не тестируем приватные методы с помощью библиотеки тестирования, поскольку они могут измениться и бесполезно прервать ваши тесты. Если вы хотите иметь покрытие кода на этих строках, вам придется тестировать их извне с помощью HTML.

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

...