Gibt es ein Unit-Testing-Framework für HTML-Markups? [geschlossen]

8

Ich arbeite in einem Webdesign-Shop. Unser Workflow besteht aus zwei Teilen: Frontend-Programmierer erstellen statische HTML- und CSS-Vorlagen für das Site-Design, Backend-Programmierer binden die Vorlagen in ein CMS ein.

Wir haben eine Reihe gemeinsamer Funktionen für unsere Websites, und ich frage mich, ob es ein Unit-Test-Framework gibt, mit dem wir diese Funktionalität testen können.

In einer unserer allgemeinen Funktionsrichtlinien heißt es beispielsweise, dass alle Links zu einem PDF in einem neuen Fenster geöffnet werden müssen . Ich möchte einen Unit-Test schreiben, der ungefähr so ​​aussieht

if(a.class = 'pdf_link')
  assert(target='_blank)

Die Wikipedia- Liste der Unit-Testing-Frameworks scheint nichts zu enthalten, was diese relativ einfache Funktionalität umfasst (Überprüfen von Zeichenfolgen anhand einer Vorlage), und ich neige dazu, eine Reihe von Bash-Skripten zu schreiben und sie in unseren CI-Server einzubinden.

Aber gibt es einen besseren Weg, dies zu tun?

CamelBlues
quelle
Ich glaube nicht, dass Sie ein HTML-Unit-Test-Framework benötigen. Sie können den HTML-Code analysieren und dann wie gewohnt Unit-Tests für die Objekte ausführen. Welche Programmiersprache verwenden Sie?
Der Muffin-Mann

Antworten:

2

Sie müssen das DOM testen, nicht die Textausgabe. Ich weiß nicht, in welcher Sprache Sie entwickeln, aber in PHP gibt es PHPUnit, das DOM-Prüfungen durchführen kann. Schauen Sie sich die Verwendung an assertSelectEquals. Meine Batterie ist im Begriff zu sterben und ich habe mein Kabel nicht, sonst würde ich Ihnen mehr geben.

Levi Morrison
quelle
Ja, aber ich möchte statische HTML-Dateien überprüfen. Ich entwickle in HTML
CamelBlues
@CamelBlues Sie verstehen falsch: Sie können jede Programmiersprache verwenden, um statisches HTML zu testen. PHPUnit unterstützt sogar Selen.
Levi Morrison
Fünf Jahre später habe ich festgestellt, dass dies die richtige Antwort ist.
CamelBlues
6

Ich frage mich, ob vielleicht so etwas wie Selen den Trick machen würde. Es ist ein Testmechanismus, der auf verhaltensorientierter Entwicklung basiert. Es kann UI-Aktionen durchlaufen, sodass Sie bestätigen, ob sie korrekt sind oder nicht. Beachten Sie, dass ich es nicht oft benutzt habe, aber als ich es tat, schien es wirklich nützlich zu sein.

Selen Homepage

stuartmclark
quelle
1
+1: Die Frage lautet möglicherweise "HTML Markup", aber alle Beispiele sind einfache Webfunktionen.
S.Lott
Dies scheint tatsächlich die beste Lösung für meine Bedürfnisse zu sein (obwohl die Komplexität von Selen selbst ein wenig einschüchternd
aussieht