Ich schreibe Komponententests für meine vuejs-Komponenten in einer größeren Anwendung. Mein Anwendungsstatus befindet sich allesamt im vuex-Speicher, sodass fast alle meine Komponenten Daten von vuex abrufen.
Ich finde dafür kein funktionierendes Beispiel für den Unit-Test. Ich habe
gefundenWenn Sie eine Komponente isoliert testen, können Sie mithilfe der Speicheroption einen gespeicherten Speicher direkt in die Komponente injizieren.
Aber ich kann kein gutes Beispiel dafür finden, wie man diese Komponenten testet. Ich habe eine Menge Wege ausprobiert. Unten ist die einzige Möglichkeit, wie ich Leute gesehen habe. stackoverflow Frage und Antwort
Im Grunde sieht es wie das
austest.vue:
%Vor%test.spec.js
%Vor%Beachten Sie das "ref" dieses Beispiel funktioniert nicht ohne es.
Ist das wirklich der richtige Weg? Es sieht so aus, als würde es schnell unordentlich werden, da es erforderlich ist, die Requisiten als String in die Vorlage einzufügen.
Evans Zitat scheint zu implizieren, dass das Geschäft direkt zur Kindkomponente hinzugefügt werden kann (dh nicht das Elternteil wie das Beispiel).
Wie machst du das?
Die Antwort ist eigentlich sehr einfach, aber nicht dokumentiert.
%Vor%Beachten Sie, dass der Speicher an den Konstruktor übergeben wurde. propsData ist derzeit dokumentiert , die Option "store" ist dies nicht.
Auch wenn Sie Laravel verwenden, gibt es seltsame Probleme mit den Webpack-Versionen, die Sie möglicherweise ausführen.
Das
[vuex] muss Vue.use (Vuex),
aufrufen
Fehler wurde verursacht durch Verwendung von Laravel-Elixir-Webpack-offiziell.
Wenn Sie den Fehler behoben haben:
npm install [email protected] --save-dev
für diese Ссылка
Ihre Tests, die Vuex enthalten, scheinen mit dem
zu brechen[vuex] muss Vue.use (Vuex) aufrufen
, auch wenn Sie Vue.use (Vuex) haben
Tags und Links unit-testing vue.js components vuex