Je construis l'emballage:Enzyme - Mount ne peut pas trouver l'élément par id
this.wrapper = mount(<App />, { context: this.store });
Ensuite, j'essaie de trouver un certain élément HTML par son id:
console.log("WRAPPER:", this.wrapper.debug());
return this.wrapper.find('#Form-input[0]-fields-field1');
L'emballage ne peut pas trouve cet élément. La sortie du fichier console.log est la suivante:
WRAPPER:
<Many children/components down...>
<input name="Form-input[0].fields.field1" onBlur={[Function]} onChange={[Function]} onDragStart={[Function]} onDrop={[Function]} onFocus={[Function]} value="asdf" type="text" id="Form-input[0]-fields-field1" disabled={false} />
<Many more things after this...>
L'entrée avec l'ID correct est donc définitivement présente. Est-ce que je manque quelque chose?
Vous avez raison! Cependant, il semble que wrapper.find n'autorise pas les caractères échappés. Ainsi, j'ai fini par le résoudre en appelant wrapper.find ({id: 'Form-input [0] -fields-field1'}) qui a bien fonctionné. – Infamous911
Content de l'avoir réparé! J'ai vérifié le repo d'Enzyme pour les problèmes liés à ceci - ils travaillent sur une solution pour améliorer des sélecteurs. –
Ouais le fait que l'argument de 'find' ne soit pas traité comme une chaîne de sélection css normale est super déroutant! Il semble qu'il cherche le caractère], à quel point il ignore tout le reste après ce personnage. – Infamous911