Page 43 - 6182
P. 43

Засоби Angular для модульного тестування
                           Платформа  Angular  у  своєму  складі  містить  потужні  засоби
                  для написання модульних тестів – це набір класів, які побудовані на

                  базі фреймвору Jasmine. Головний тестовий фреймворк платформи
                  Angular знаходиться в пакеті @angular/core/testing.
                           Для  тестування  рекомендують  використовувати  наступні
                  підходи:

                             якщо  потрібно  протестувати  деякий  клас,  який  має
                  залежності, зазвичай потрібно вручну налаштовувати їх;

                             для  тестування  компонентів  необхідно  використовувати
                  класи-помічники для їх ініціалізації.
                           Тестування компонентів
                           Для  тестування  Angular-додатку,  необхідно  пересвідчитись,

                  що  в  тестах  доступна  потрібна  конфігурація,  яка  декларується  в
                  декораторі  @NgModule.  Щоб  тести  запускались  коректно,
                  необхідно  задекларувати  провайдери,  компоненти,  а  також

                  імпортувати інші модулі на зразок того, як це робиться в декораторі
                  @NgModule.
                           У  фреймворку  для  тестування  визначений  клас  TestBed  –

                  головний постачальник API (Application Programming Interface) для
                  тестування  Angular-додатків  і  бібліотек.  Розглянемо  два  важливі
                  методи, які використовуються під час тестування компонентів:

                             configureTestingModule – метод, який використовує об‘єкт
                  метаданих  в  стилі  @NgModule  для  конфігурації  модуля  в  якому
                  визначений компонент;

                             compileComponents  –  метод,  який  використовується  для
                  компіляції шаблону і стилів компонента.
                           При  використанні  інструменту  Angular-CLI  каркас  для

                  тестування  компонента,  за  замовчуванням,  буде  генеруватись  при
                  створенні нових компонентів.
                           Розглянемо деякі особливості, які наведені в середині методу
                  beforeEach()  на  рисунку  6.1.  Метод  TestBed.compileComponents()

                  виконується асинхронно, компілює всі компоненти, які визначені в
                  тестовому  модулі.  Коли  метод  compileComponents  відпрацював,
                  зовнішні  шаблони  і  CSS  файли  об‘єднуються  в  рядок  і  метод





                                                                43
   38   39   40   41   42   43   44   45   46   47   48