Heim  >  Artikel  >  Web-Frontend  >  JavaScript-Tests

JavaScript-Tests

高洛峰
高洛峰Original
2016-11-25 13:28:311292Durchsuche

Beim Refactoring von JavaScript hoffe ich, ein benutzerfreundliches Test-Framework einzuführen, um den reibungslosen Fortschritt des Refactorings sicherzustellen. Auch in Zukunft kann ich die Korrektheit der JavaScript-Logik durch Testcode sicherstellen.
JsUnit (http://sourceforge.net/projects/jsunit/, http://www.jsunit.net/)
JsUnit ist ein unabhängiges JavaScript-Unit-Test-Framework, das JUnit ähnelt und keine Schwierigkeiten aufweist In den ersten Schritten ähnelt die bereitgestellte Assert-Methode auch JUnit, einschließlich der herkömmlichen Methoden setUp und TearDown, mit zusätzlichen JavaScript-spezifischen Methoden wie AssertNaN und AssertUndefiniert. Die Testseite muss die js-Datei jsUnitCore.js in einführen.
Testsuite-Unterstützung: addTestPage und addTestSuite werden bereitgestellt;
Testprotokoll-Unterstützung: einschließlich drei Protokollebenen: Warnung, Info und Debug. Die Verwendung ist nicht angemessen viele Protokolle im formalen Code. Außerdem wird Protokoll nur unter FF unterstützt.

Tausend Worte reichen nicht für ein Beispiel:
Js-Code
;script language ="javascript" src="play.js"> //Module JS

function testWithMainProcess() {
AssertEquals("Web Play URL", "## http:/ /...##", webOnlinePlay());
}

Der Projektcode ist voller Ajax-Aufrufe. Um Unit-Tests durchzuführen, scheint Stapelung unvermeidlich zu sein. Es gibt viele Mock-Tools, wie zum Beispiel QMock, die für JQuery geeignet sind:
Js code
var mockJquery = new Mock();
mockJquery
.expects(1)
.method('ajax' )
.withArguments({
url: 'http://xxx,
success: Function,
dataType: "jsonp"
})
.callFunctionWith({ feed : { Eintrag: „Datenantwort“}}); ist fast das Gleiche.

Studenten, die sich für JavaScript-Testframeworks interessieren, können sich auch über andere Testframeworks wie JSpec informieren.

Es wird empfohlen, den Unit-Testcode im Paket des Moduls zu platzieren: test.html Selbst unter idealen Bedingungen wird das Modul bei separater Veröffentlichung von zuverlässigem Front-End-Code für Testfälle begleitet .
Mit welchem ​​JavaScript-Code soll ich beginnen?
1. Funktionscode. Ein solcher Code gewährleistet eine gute Unabhängigkeit, erfordert kein Abstecken und verursacht geringe Testkosten. Wenn Sie die Bedeutung von Funktionscode nicht verstehen, lesen Sie bitte „Funktionale Programmierung“.
2. Komplexe Logik.
Möchten Sie TDD ausprobieren? Der Einsatz in unserem Team wird nicht empfohlen. Front-End-TDD erfordert höhere Fähigkeiten und höhere Anforderungen an menschliche Faktoren. Wenn eines Tages die TDD des Hintergrund-Java-Codes abgeschlossen ist, wird es keinen wesentlichen Unterschied geben, wenn er durch JavaScript-Code ersetzt wird.

Wenn der Effekt angemessen ist, warum kann JavaScript UT nicht im Rahmen der kontinuierlichen Integration in ICP-CI integriert werden?

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn