Im appena iniziando su polimero. Sto cercando di testare un elemento personalizzato che ha dipendenze e mi piacerebbe falso/deridere questi fuori. Ho trovato la raccomandazione di Scott Miles su come prendere in giro l'implementazione core-ajax. Pensavo di poter seguire facilmente quel modello, ma questo funziona solo finché il mio elemento non importa l'elemento che sta per essere deriso (core-ajax in questo caso). Se lo importa, allora quando il test tenta di eseguire ottengodipendenze mocking test unità polimeriche
'Uncaught NotSupportedError: Impossibile eseguire' registerElement 'su' Documento ': Registrazione fallita per tipo' core-ajax '. Un tipo con quel nome è già registrato. '
Se potessi fare qualcosa come document.unregister l'elemento core-ajax e importarlo di nuovo nel mio test, Id essere un dev molto più felice !!! Polymer è fantastico, ma se non riesco a testarlo, presenta dei rischi importanti (almeno durante la creazione di un'app che dovrà essere mantenuta/modificata)
Come state lavorando a questo problema? Ho scavato nel repository di elementi Polymer e PolymerLab e la maggior parte di essi non ha test. Finora ho; non ho trovato molti riferimenti su come farlo.
Grazie per l'aiuto!
Santiago
raccomandazioneScotts' era:
Invece di importare core-ajax/core-ajax.html, creare il proprio elemento core-ajax.
<polymer-element name="core-ajax" attributes="response">
<script>
Polymer('core-ajax', {
attached: function() {
this.response = ['a', 'b', 'c'];
}
});
</script>
</polymer-element>
Ovviamente, questo è solo un esempio, l'implementazione effettiva dipende dal comportamento di derisione desiderato.
Questo è solo un modo per risolverlo, ce ne sono molti altri. Mi interessa sapere cosa trovi (in) conveniente.
idem. L'intero errore in doppio include è doloroso. Non sono sicuro di come aggirare questo ancora. – David
La soluzione di riferimento proviene da https://stackoverflow.com/questions/24531473/how-do-i-mock-polymer-core-ajax-for-unit-testing – dskrvk