2016-07-11 9 views
5

Właśnie zaktualizowałem wszystkie formularze w mojej aplikacji, aby używać nowych formularzy Angular2-rc3 moduł i nie mogę uruchomić specyfikacji bez wyświetlania błędów analizy szablonów.Angular 2.0.0-rc.3 Nowe formularze Specyfikacja e2e - nie można powiązać z "formGroup", nie można powiązać z "formControlName", itp.

Moi formy działać dobrze we wniosku, ale gdy uruchamiam specyfikacje, widzę błędy jak:

ERROR: 'Unhandled Promise rejection:', 'Template parse errors: 
Can't bind to 'formGroup' since it isn't a known native property 

i

ERROR: 'Unhandled Promise rejection:', 'Template parse errors: 
Can't bind to 'formControlName' since it isn't a known native property 

ja też jeszcze dostać ostrzeżenie o użyciu starego moduł formularzy (którego tak naprawdę nigdzie nie używam) Nie dostaję tego błędu w konsoli przeglądarki)

WARN: ' 
    *It looks like you're using the old forms module. This will be opt-in in the next RC, and 
    will eventually be removed in favor of the new forms module. For more information, see: 
    https://docs.google.com/document/u/1/d/1RIezQqE4aEhBRmArIAS1mRIZtWFf6JxN_7B4meyWK0Y/pub 
' 

Podczas migracji mojego kodu aplikacji do najnowszego interfejsu API Forms, zobaczyłem te błędy w konsoli przeglądarki po uruchomieniu aplikacji lokalnie. Udało mi się je naprawić, postępując zgodnie z dokumentacją i importując odpowiednie dyrektywy. Niestety, teraz, gdy przeprowadzam testy, te błędy występują w moim terminalu. Nie znalazłem żadnych zasobów dotyczących migracji testów do nowego modułu formularzy ... Jakieś pomysły?

+0

Znalazłeś rozwiązanie? Mam dokładnie ten sam problem, aplikacja działa dobrze, testy rzucają błędy. – lathonez

Odpowiedz

0

Myślę, że that this może ci pomóc, kolego! Pewnie zrobił to dla mnie i miał ten sam błąd co ty.

+1

Cześć, dziękuję za odpowiedź. Nie importuję niczego z "@ angle/common". Wszystko pochodzi z "/ form". Jak już powiedziałem, moja aplikacja działa dobrze, to moje testy powodują błędy. Co zapewniasz w swoich testach, aby pozbyć się tych błędów? Z której wersji Angular2 korzystasz? Jestem na RC.3 –

2

Miałem dokładnie ten sam problem z systemem na RC4 z nowymi formularzami. Załadowanie aplikacji działało dobrze, ale gdy tylko przeszedłem do testów jednostkowych, spotkałem się z tymi samymi problemami, co Ty.

Myślę, że przyczyną problemu jest to, że ładowanie ładuje formularze dla nas ładnie, ale podczas uruchamiania testów jednostkowych zwykle niczego nie ładujemy.

Moja bootstrap wygląda następująco:

ionicBootstrap(ClickerApp, [ 
    disableDeprecatedForms(), 
    provideForms(), 
    Clickers, 
    provide('Storage', {useClass: Storage})] 
); 

Aby uzyskać tej pracy miałem zrobić dwie rzeczy:

1: Zapewnienie dla formularzy w mojej jednostce testuje takie same jak w moim bootstrap z użyciem beforeEachProviders:

let providers = [ 
    disableDeprecatedForms(), 
    provideForms() 
    ] 

    beforeEachProviders(() => providers); 

2: Dodaj FORM_DIRECTIVES i REACTIVE_FORM_DIRECTIVES do mojego składnika:

@Component({ 
    selector: 'clicker-form', 
    templateUrl: 'build/components/clickerForm/clickerForm.html', 
    directives: [Button, Icon, Item, Label, TextInput, FORM_DIRECTIVES, REACTIVE_FORM_DIRECTIVES], 
}) 

Original github issue showing working

Link to repo with working example of unit tests on new forms