Movatterモバイル変換


[0]ホーム

URL:


Jump to content
MediaWiki
Search

Příručka:Testování jednotek JavaScriptu

From mediawiki.org
This page is atranslated version of the pageManual:JavaScript unit testing and the translation is 100% complete.
Languages:
Viz též:Jest
Testovací sada QUnit od MediaWiki.

MediaWiki používáQUnit kunit test své báze kóduJavaScript.

Spuštění z prohlížeče

  1. Nastavte$wgEnableJavaScriptTest natrue.
    Toto je již nastaveno ve většině vývojářských prostředí, jako jeQuickstart neboMediaWiki-Docker.
  2. NavštivteSpecial:JavaScriptTest v prohlížeči a spusťte testy.

Spuštění z příkazového řádku

Jednorázové nastavení

  • Nastavte proměnné prostředíMW_SERVER aMW_SCRIPT_PATH na adresu URL vaší místní wiki. Můžete je také vložit do souboru.bash_profile ve svém domovském adresáři a automaticky nastavit proměnné zatížení na nových kartách Terminál.
    # MediaWiki-DockerexportMW_SERVER=http://localhost:8080exportMW_SCRIPT_PATH=/w
    # composer serveexportMW_SERVER=http://localhost:4000exportMW_SCRIPT_PATH=/
  • Přejděte do hlavního adresáře MediaWiki a spusťtenpm ci.

Spuštění

Toto spouští testy QUnit v Headless Chrome:

$npmrunqunitRunning "karma:main" (karma) task INFO [launcher]: Starting browser ChromeHeadless mediawiki.util     ✔ escapeRegExp     ✔ debounce Finished in 5.42 secs SUMMARY: ✔ 440 tests completed

Pomocí volby--qunit-component můžete spustit testy QUnit pro konkrétní komponenty.Předejte název rozšíření nebo vzhledu neboMediaWiki na základní testy MediaWiki.

$node_modules/grunt/bin/gruntqunit--qunit-component=GrowthExperimentsRunning "karma:main" (karma) taskINFO [launcher]: Starting browser ChromeHeadless  testrunner    ✔ Loader status    ✔ assert.htmlEqual  ext.growthExperiments.Utils.js    ✔ serializeActionData    ✔ isUserInVariant  ext.growthExperiments.Help/HelpPanelProcessDialog.js    ✔ getDefaultPanelForSuggestedEditSession for copyedit    ✔ updateEditMode for link-recommendation    ✔ updateEditMode for copyedit, isEditing  ext.growthExperiments.Homepage.SuggestedEdits/PagerWidget.js    ✔ constructor    ✔ setMessage with currentPosition < totalCount    ✔ setMessage with currentPosition === totalCount    ✔ setMessage with currentPosition > totalCount  ext.growthExperiments.NewcomerTaskLogger.js    ✔ constructor    ✔ should log impressions    ✔ should get log metadata  ext.growthExperiments.StructuredTask/addimage/AddImageUtils.js    ✔ getRenderData: target width < original width    ✔ getRenderData: the image file needs to be re-rasterized    ✔ getRenderData: vector image    ✔ getRenderData: target width > original width    ✔ getRenderData: 3x target width    ✔ getRenderData: 2.5x target width    ✔ getRenderData: vertical image with landscape viewport    ✔ getRenderData: with specified render widthFinished in 0.03 secsSUMMARY:✔ 46 tests completed

Argument--qunit-watch pro QUnit můžete použít ke sledování souborů přidružených ke komponentě a automaticky znovu spustit testy, pokud se tyto soubory změní.

Bezpečnostní hledisko

Zvažte použitíFresh, nebo pokud již máte jiné izolované prostředí, zajistěte instalaci srovnatelné verze Node.js a npm (doporučuje se předposlední Node.js LTS).Proč?

  • Chcete-li vstoupit do izolovaného prostředí, spusťtefresh-node-net-env z hlavního adresáře MediaWiki. (Fresh automaticky najde proměnné MW_SERVER a MW_SCRIPT_PATH ze souboru.env MediaWiki-Docker.)
  • Jakmile jste uvnitř svého izolovaného shellu, spusťtenpm ci pro instalaci nebo aktualizaci všech závislostí.
  • Chcete-li spustit testy, spusťtenpm run qunit.

Jak se zapojit?

Spuštění testu před potvrzením

Zvykněte si spouštět testy jednotek před potvrzením a odesláním změn doGerrit.

Psaní testů jednotek

Napište testy jednotek pro nové funkce a zvažte zaplnění mezer v pokrytí při změně stávajícíchmodulů v jádru MediaWiki.

Psaní testu

Je obvyklé pojmenovat soubor testovací sady podle modulu, který pokrývá.Napříkladmediawiki.user.test.js pokrývá modulmediawiki.user.

Uvnitř testovací sady by mělo být volání naQUnit.module s názvem modulu.

Testy jednotek pro jádro MediaWiki jsou umístěny v adresářitests/qunit/resources/.

Zaregistrování testu

Jádro MediaWiki

Testovací sady se přidávají k registraci modulutest.MediaWiki v/tests/qunit/QUnitTestResources.php.

Testy jsou organizovány do adresářové struktury, která odpovídá adresářové struktuře testovaného kódu.Například:Unit test naresources/mediawiki.base/util.js lze nalézt natests/qunit/resources/mediawiki.util/util.test.js.

Příklad:

'mediawiki.tests.qunit.suites' => array('scripts' => array( 'tests/qunit/resources/mediawiki.base/html.test.js','tests/qunit/resources/mediawiki.util/util.test.js',+'tests/qunit/resources/mediawiki.example/example.test.js',),'dependencies' => array('mediawiki.util',+'mediawiki.example',

Rozšíření

Rozšíření registrují své testy QUnit prostřednictvím atributuQUnitTestModule vextension.json.

Související odkazy

Retrieved from "https://www.mediawiki.org/w/index.php?title=Manual:JavaScript_unit_testing/cs&oldid=7899971"
Category:

[8]ページ先頭

©2009-2025 Movatter.jp