dedlfix: Wenn zwei (Validator und Unit-Test) sich streiten, ärgert sich der dritte (ich)

Beitrag lesen

Tach!

That said: ich vermute, du testest falsch. Du testest ja, ob Vue funktioniert; das solltest du nicht tun.

Tu ich das?

Die Frage ist, was du eigentlich testen möchtest. Möchtest du testen, ob dein Validator funktioniert, dann teste diesen. Du musst nicht das Szenario testen, dass Vue irgendwelche Werte vom Komponentenaufruf an deinen Validator durchreicht. Das ist Aufgabe von Vue und dessen Tests. Du solltest davon ausgehen, dass, egal welchen Wert du an die Komponente gibst, es Vue hinbekommt, damit deinen Validator aufzurufen. Diesen Teil in deinem Beispiel kannst du übergehen. Deswegen die Empfehlung, nur die Validator-Funktion selbst zu testen.

Ein Test mit Einbeziehung der Vue-Komponente ist beispielsweise dann sinnvoll, wenn du darin einen Fehler entdeckst und - solange der nicht beseitigt ist - einen Workaround schreiben musst, und diesen testen möchtest.

Weiterhin könnte es sein, dass du die Reaktion auf den Fehler testen möchtest, also ob mit dem von dir geschriebenen HTML/JavaScript-Teil die beabsichtigten Dinge passieren. In dem Fall ist es aber fraglich, ob du die Vue-Komponente dazu brauchst, oder ob ein Test-Dummy die bessere Wahl ist. Der Test-Dummy verhält sich gemäß der Testszenarien, aber das eigentliche Tun wird ausklammert, was so eine Vue-Komponente im Inneren macht, zuzüglich Nebenwirkungen. Wie gesagt, du möchtest ja nicht Vue testen, sondern wie dein Code mit bestimmten Werten umgeht. Inwieweit man mit Vue Tests mit Dummys erstellen kann, kann ich aber nicht beantworten.

dedlfix.