Testen: So testen Sie, ob die Ansicht die gewünschten Daten enthält

Angenommen, ein Chefkoch kann Rezepte erstellen, und Sous-Chefs können Rezepte erstellen, die von einem Chefkoch genehmigt werden müssen.

Sie möchten testen, dass eine Küchenchefin beim Aufrufen ihrer Homepage selbst erstellte Rezepte sieht. Sie möchten auch testen, dass sie sieht, dass es Rezepte gibt, die auf ihre Genehmigung warten.

Ich kann mir zwei Möglichkeiten vorstellen, dies zu tun:

Testen Sie, ob die Ansicht bestimmte Wörter enthält, z. B. "Ihre Rezepte" und "Rezepte, die auf Ihre Genehmigung warten".Fügen Sie den verwendeten HTML-Elementen unnötige Attribute hinzu, damit Sie mit "id = recipe_1" oder "data-for-the-sake-of-testing = 1" nach einem Element suchen können.

Ich mag diese beiden Ansätze sehr nicht.

Warum saugt Annäherung # 1Unglaublich spröde Tests. Jedes Mal, wenn Sie kleinere Aktualisierungen an der Kopie vornehmen möchten, werden die Tests abgebrochen.i18n? Wie wird das mit diesem Ansatz funktionieren?

Es gibt wahrscheinlich noch mehr Gründe, aber diese beiden sind ziemlich groß.

Warum saugt Annäherung # 2

Wie ärgerlich, überflüssiges Markup nur zum Testen zu haben! Der Benutzer sollte zu Testzwecken keine höhere Download-Größe haben.

Was ist ein guter Ansatz dafür? Ich bin an Alternativen interessiert, egal in welcher Sprache Sie denken. Ich denke hauptsächlich an Ruby, Test :: Unit, Minitest, RSpec und Cucumber (obwohl meine Cuke-Kenntnisse veraltet sind), aber wenn andere Sprachen / Frameworks Wenn ich das herausgefunden habe, würde ich gerne sehen, was sie auch tun.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage