Модул:УнитТестс/док
Пређи на навигацију
Пређи на претрагу
Ово је документациона подстраница за Модул:UnitTests
УнитТестс провидес а унит тест фацилитy тхат цан бе усед бy отхер сцриптс усинг реqуире. Сее Wикипедиа:Луа#Унит_тестинг фор детаилс. Фоллоwинг ис а сампле фром Модуле:Бананас/тестцасес:
-- Unit tests for [[Module:Bananas]]. Click talk page to run tests.
local p = require('Module:UnitTests')
function p:test_hello()
self:preprocess_equals('{{#invoke:Bananas | hello}}', 'Hello, world!',{nowiki=1})
end
return p
Тхе талк паге Модуле талк:Бананас/тестцасес еxецутес ит wитх {{#invoke: Bananas/testcases | run_tests}}. Тест метходс лике тест_хелло абове муст бегин wитх "тест".
Метходс
рун_тестс
рун_тестс(дифферс_ат): Рунс алл тестс. Иф "дифферс_ат=1" ис специфиед, а цолумн wилл бе аддед схоwинг тхе фирст цхарацтер поситион wхере тхе еxпецтед анд ацтуал ресултс диффер. Нормаллy усед он талк паге оф унит тестс.
{{#invoke:Bananas/testcases|run_tests}}
препроцесс_еqуалс
препроцесс_еqуалс(теxт, еxпецтед, оптионс): Гивес а пиеце оф wикитеxт то препроцесс анд ан еxпецтед ресултинг валуе. Сцриптс анд темплатес цан бе инвокед ин тхе саме маннер тхеy wоулд бе ин а паге.
self:preprocess_equals('{{#invoke:Bananas | hello}}', 'Hello, world!',{nowiki=1})
препроцесс_еqуалс_манy
препроцесс_еqуалс_манy(префиx, суффиx, цасес, оптионс): Перформс а сериес оф препроцесс_еqуалс() цаллс он а сет оф гивен паирс. Аутоматицаллy аддс тхе гивен префиx анд суффиx то еацх теxт.
self:preprocess_equals_many('{{#invoke:BananasArgs | add |', '}}', {
{'2|3', '5'},
{'-2|2', '0'},
},{nowiki=1})
препроцесс_еqуалс_препроцесс
препроцесс_еqуалс_препроцесс(теxт, еxпецтед, оптионс): Гивес тwо пиецес оф wикитеxт то препроцесс анд детерминес иф тхеy продуце тхе саме валуе. Усефул фор цомпаринг сцриптс то еxистинг темплатес.
self:preprocess_equals_preprocess('{{#invoke:Bananas | hello}}', '{{Hello}}',{nowiki=1})
препроцесс_еqуалс_препроцесс_манy
препроцесс_еqуалс_препроцесс_манy(префиx, суффиx, цасес, оптионс): Перформс а сериес оф препроцесс_еqуалс_препроцесс() цаллс он а сет оф гивен паирс. Тхе префиx/суффиx супплиед фор ботх аргументс ис аддед аутоматицаллy. Иф ин анy цасе тхе сецонд парт ис нот специфиед, тхе фирст парт wилл бе усед.
self:preprocess_equals_preprocess_many('{{#invoke:Foo | spellnum |', '}}', '{{spellnum', '}}', {
{'2'}, -- equivalent to {'2','2'},
{'-2', '-2.0'},
},{nowiki=1})
еqуалс
еqуалс(наме, ацтуал, еxпецтед, оптионс): Гивес а цомпутед валуе анд тхе еxпецтед валуе, анд цхецкс иф тхеy аре еqуал аццординг то тхе == оператор. Усефул фор тестинг модулес тхат аре десигнед то бе усед бy отхер модулес ратхер тхан усинг #инвоке.
self:equals('Simple addition', 2 + 2, 4,{nowiki=1})
еqуалс_дееп
еqуалс_дееп(наме, ацтуал, еxпецтед, оптионс): Лике еqуалс, бут хандлес таблес бy доинг а дееп цомпарисон. Неитхер валуе схоулд цонтаин цирцулар референцес, ас тхеy аре нот хандлед бy тхе цуррент имплементатион анд маy ресулт ин ан инфините лооп.
self:equals_deep('Table comparison', createRange(1,3), {1,2,3},{nowiki=1})
Сее алсо
- Модуле:СцрибунтоУнит – алтернативе унит тест модуле