Parsertests

This page is a translated version of the page Parser tests and the translation is 100% complete.
Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎polski • ‎português • ‎português do Brasil • ‎中文 • ‎日本語

Jeder Parsertest-Fall gibt eine Wikitext-Eingabe und eine HTML-Ausgabe an, um sicherzustellen, dass der Parser wie erwartet arbeitet. Der tatsächliche Output wird mit dem gewünschten Ergebnis verglichen, wodurch die Parsertest-Fälle (auch Parsertsts genannt) hilfreich sein können, um Regressionen zu erkennen.

Die Parsertests befinden sich unter tests/parser/parserTests.txt. Erweiterungen sollten ihre Tests in einem tests/parser/-Verzeichnis platzieren.

Sie können sowohl durch die phpunit-Testsuite als auch durch das alleinstehende parserTests.php ausgeführt werden -- daher sollte ein Parsertest-Fehler zu einem Fehlschlag der Jenkins-Tests führen.

Syntax & Ausführung

Die Syntax ist wie folgt:

!! test
Simple paragraph
!! config
wgRestrictDisplayTitle=false
!! input
This is a simple paragraph.
!! result
<p>This is a simple paragraph.
</p>
!! end

Der "config"-Abschnitt kann weggelassen werden. Wenn du dort Konfigurationswerte angibst, stelle sicher, dass du keinen Whitespace zwischen deinen Ausdrücken hast, da Whitespace durch den Test Runner nicht entfernt wird.

Um einen neuen Artikel zu erstellen ist die Syntax:

!! article
Template:Simple template
!! text
A ''simple'' template.
!! endarticle

Um sicherzugehen, dass der Erweiterungs-Tag tag1 geladen ist, füge zum Anfang der Datei dies hinzu:

!! hooks
tag1
!! endhooks

Für Erweiterungen, die ihre Tests in tests/parser/ platzieren und extension.json verwenden, werden die Parsertests automatisch ausgeführt. Erweiterungen die das alte System zum Laden von Erweiterungen verwenden, können dies verwenden:

$wgParserTestFiles[] = __DIR__ . "/myParserTests.txt";

Um Parsertests auszuführen, führe im Wurzelverzeichnis deiner MediaWiki-Installaton folgendes per Kommandozeile auf:

php tests/parser/parserTests.php
Vor MediaWiki 1.28 befand sich diese Datei unter dem Pfad tests/parserTests.php

Um Tests nur für eine Datei durchzuführen, verwende den --file=...-Parameter. Siehe --help für weitere Parameter.

php tests/parser/parserTests.php --file=extensions/Kartographer/tests/parser/parserTests.txt

Siehe auch