2016-07-11 34 views
5

Ho appena aggiornato tutti i moduli nella mia applicazione per utilizzare le nuove forme di Angular2-rc3 modulo, e non riesco a eseguire le specifiche senza vedere errori di analisi del template.Angular 2.0.0-rc.3 Nuove specifiche e2e di moduli - impossibile collegarsi a "formGroup", non può associare a "formControlName", ecc.

mie forme funzionano bene nella domanda, ma quando ho eseguito le specifiche, sto vedendo gli errori come:

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

e

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

anche io ancora ottenere l'avviso relativo utilizzando il vecchio modulo moduli (che non sto effettivamente utilizzando ovunque .. non sto ricevendo questo errore nella console del browser)

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 
' 

Durante la migrazione del codice dell'applicazione all'ultima API di moduli, ho visto questi errori nella console del browser quando eseguivo l'app localmente. Sono stato in grado di risolverli seguendo la documentazione e importando le direttive appropriate. Sfortunatamente, ora che eseguo i test, questi errori si verificano nel mio terminale. Non ho trovato alcuna risorsa su come migrare i test sul nuovo modulo moduli ... Qualche idea?

+0

Hai trovato una soluzione? Ho lo stesso identico problema, l'app funziona bene, i test che lanciano gli errori. – lathonez

risposta

0

Penso che that this possa aiutarti, amico! Certo, ha fatto per me e ha avuto lo stesso tuo errore.

+1

Ciao, grazie per la tua risposta. Non sto importando nulla da '@ angular/common'. Tutto viene da "/ forms". Come ho detto, la mia applicazione funziona bene, sono i miei test a generare errori. Cosa stai fornendo nei tuoi test per sbarazzarti di questi errori? Anche quale versione di Angular2 stai usando? Sono su RC.3 –

2

Ho avuto lo stesso identico problema in esecuzione su RC4 con nuove forme. Il bootstrap della app ha funzionato bene, ma non appena sono andato a eseguire i test unitari ho affrontato gli stessi problemi di te.

Penso che la radice del problema è che il bootstrap imposta le forme per noi, ma quando si eseguono i test di unità normalmente non abbiamo eseguito il bootstrap.

mio bootstrap si presenta così:

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

per ottenere questo lavoro ho dovuto fare due cose:

1: Prevedere forme nella mia unità mette alla prova lo stesso come nel mio bootstrap usando beforeEachProviders:

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

    beforeEachProviders(() => providers); 

2: Aggiungi FORM_DIRECTIVES e REACTIVE_FORM_DIRECTIVES alla mia componente:

@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

Problemi correlati