2016-02-17 1 views
4

J'ai un composant simple Ionic2 en utilisant les directives suivantes:test de composants ionic2: Aucun fournisseur pour le formulaire

@View({ 
    templateUrl: 'build/components/checkinDateInput/checkinDateInput.html', 
    directives: [ FocusDirective, Item, Label, TextInput ], 
}) 

Lors du test de ce que je reçois une erreur: No provider for Form! (Item -> Form)

J'ai essayé d'ajouter le fournisseur à mon spec:

beforeEachProviders(() => [Form]); 

Cependant, Form est privé dans ionique et en tant que tel, je ne semble pas pouvoir l'importer (ionic-framework/util/form.d.ts):

/** 
* @private 
*/ 
export declare class Form { 
    private _blur; 
... 

error TS2305: Module '".../node_modules/ionic-framework/ionic"' has no exported member 'Form'.

Comme il ne peut pas être importé, je ne peux pas moquer dans les beforeEachProviders, parce que Form serait indéterminée.

beforeEachProviders(() => [ 
    provide(Form, {useClass: MockForm}) 
]); 

Dois-je être en mesure d'importer Form ou je vais sur ce dans le mauvais sens?

+1

Après le piratage autour de la dernière heure, la seule façon que je peux faire ce travail est en exportant le formulaire en ionique (par exemple, remplaçant le fait qu'ils rendu privé) .. Évidemment ce n'est pas la voie à suivre, je vais soulever cela avec Ionic et voir ce qu'ils recommandent. – lathonez

+1

Élevé: https://github.com/driftyco/ionic/issues/5494 – lathonez

Répondre