Wie testen Sie Vuejs Components bei der Verwendung von Vuex?

8

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

gefunden

Wo Evan Du sagst:

  

Wenn 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

aus

test.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?

    
Patrick_Finucane 19.04.2017, 12:07
quelle

1 Antwort

10

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

    
Patrick_Finucane 20.04.2017, 18:16
quelle