Angular

Moduły w testach Angulara czyli dlaczego warto czytać tutoriale

2016-02-01

Testy w Angularze to temat rzeka i łatwo pominąć pewne fragmenty uznając je za mało ważne by później mocno tego żałować. Gorzej jeśli rozkładamy się na tak bazowej rzeczy że aż później plujemy sobie w brodę. Tutaj trochę usprawiedliwia nas użyty typescript bo gdy IDE podświetla używane typy to nie podejrzewamy, że coś idzie nie tak.

Przykładowy kod:

    beforeEach(() => {
        angular.mock.inject((_someService_: NameSpace.SomeService) => {
            someService = _someService_;
        });
    });

    it('should be true', () => {
        // treść testu
    });

Nasz _SomeService _jest podświetlony czyli została do niego znaleziona referecja. Uruchamiamy test i wywala się, że nie potrafimy odnaleźć owego serwisu.

Ponieważ realny test był bardziej skomplikowany szukaliśmy błędu w wielu miejscach licząc na coś nietrywialnego. Kiedy jednak wszystko inne sprawdziliśmy zostało nam coś co ominęliśmy, a jest opisane na samym początku tutoriala testów Angulara - wczytanie modułu.

    beforeEach(angular.mock.module('NameSpace'));

I kod zaczął przechodzić testy. Ehh…

comments powered by Disqus