Модул:УнитТестс/док

Izvor: Vojna Enciklopedija
Пређи на навигацију Пређи на претрагу

Ово је документациона подстраница за Модул: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})

Сее алсо