Fehler bei der Integration von HTML mit testacularjs

8

Wie integriere ich (html) Fixtures mit testacular? Gibt es eine Empfehlung für DOM-basierte Tests oder ist es ein Anti-Pattern?

Ziel: Ich versuche, ein benutzerdefiniertes Modul zu testen, das den DOM-Baum analysiert und eine neue Datenstruktur erstellt. Der DOM-Baum kann dynamisch sein (wie der Inhalt eines HTML- / Markdown-Editors) und ist daher kein guter Kandidat für End-to-End-Tests

Problem: Ich versuche Jasmine-Jquery für dieses DOM-Testen zu verwenden und in meiner testacular.conf.js habe ich den Abschnitt, um das Laden von HTML-Dateien in den Browser zu erlauben.

%Vor%

Allerdings bekomme ich in meinem Test Runner auf der Kommandozeile die folgende Fehlermeldung, wenn ich den html-Fixtur lösche (noch bevor ich irgendeinen Jasmine-jquery-Code schreibe, um das Fixture zu laden):

%Vor%

BEARBEITEN : Eine andere Möglichkeit, die gleiche Frage zu stellen: Wie bekomme ich testacular, um HTML zu bedienen und den Testläufer nicht zu sprengen?

Wie ich oben erwähnt habe, muss ich die "test / fixtures / *. html" in die Config einfügen, aber der Test Runner explodiert gerade.

    
user35559 22.10.2012, 20:21
quelle

2 Antworten

9

Aktuelle Version von testacularjs kann dies nicht unterstützen. Der Autor von testacularjs (Vojta Jina) schlug jedoch vor, eine Proxy-Lösung zu verwenden, um dies zu umgehen, indem der HTML-Code über einen anderen Webserver bereitgestellt wird. Für die Neugierigen, hier sind die End-to-End-Schritte, um dies zum Laufen zu bringen.

  • Starten Sie zuerst den Webserver, indem Sie einen Befehl wie den folgenden ausführen

      

    python -m SimpleHTTPServer 3502 & amp;

  • Lassen Sie Ihre Fixture-Datei (en) an einem geeigneten Ort fallen. Meine war test / fixtures / first.html

      

    Nun sollten Sie in der Lage sein, [http: // localhost: 3502 / test / fixtures / first.html] zu besuchen und das Markup zu sehen, wenn Sie die Seitenquelle prüfen

  • Bearbeiten Sie testacular.conf.js, um den Konfigurationsblock hinzuzufügen

    %Vor%
  • Bearbeiten Sie Ihren Jasmin-Einheitentest, um einen Block wie den folgenden zu haben

    %Vor%

Nun sollten Sie in der Lage sein, die Fixture / Readfixture zu laden

    
user35559 26.10.2012 05:24
quelle
6

Wie in Ссылка angegeben, können Sie seit Version 0.5.2 die neue Konfigurationssyntax verwenden :

%Vor%

Ich habe es gerade versucht und es funktioniert gut für mich.

    
svi3c 07.03.2013 16:13
quelle