Ich spiele den Advokaten des Teufels hier, da ich weiß, dass ich wahrscheinlich in der Minderheit mit dieser Meinung bin: Ich bevorzuge es tatsächlich, äußerst sorgfältige Controller-Tests zu machen. Ein paar Gründe:
1) Ich finde es einfacher, jeden Pfad und jedes Ergebnis auf Controller-Ebene systematisch zu testen als auf der Ebene des Integrationstests. Meine Integrationstests sind hauptsächlich nur glückliche Pfade und einige der häufiger auftretenden Fehlerpfade.
2) Auf der Controller-Ebene treten viele potenzielle Sicherheitsprobleme auf. Ein gründliches Testen hilft mir sicherzustellen, dass nichts böswilliges durch meine Modelllogik kommt.
3) Dies ist subjektiv, aber es zwingt mich wirklich, über einige der langen Wege nachzudenken, die meine Anwendung durchlaufen könnte. Was passiert, wenn jemand versucht, ein ungültiges Passwort-Reset-Token in die URL einzugeben? Controller-Tests stellen sicher, dass ich alle Optionen in Betracht ziehe.
4) Im Gegensatz zu Integrationstests sind sie ziemlich einfach zu testen. Jede Aktion ist nur eine Rubin-Methode!
Ich schätze Ihre Eingabe. – user937531