Перейти к содержанию
Главное меню
Главное меню
переместить в боковую панель
скрыть
Навигация
Заглавная страница
Указатели
Свежие правки
Случайная страница
Справка по MediaWiki
Народные Сказки
Поиск
Найти
Создать учётную запись
Войти
Персональные инструменты
Создать учётную запись
Войти
Страницы для неавторизованных редакторов
узнать больше
Вклад
Обсуждение
Редактирование:
Модуль:UnitTests/doc
Модуль
Обсуждение
русский
Читать
Править код
История
Инструменты
Инструменты
переместить в боковую панель
скрыть
Действия
Читать
Править код
История
Общие
Ссылки сюда
Связанные правки
Служебные страницы
Сведения о странице
Внимание:
Вы не вошли в систему. Ваш IP-адрес будет общедоступен, если вы запишете какие-либо изменения. Если вы
войдёте
или
создадите учётную запись
, её имя будет использоваться вместо IP-адреса, наряду с другими преимуществами.
Анти-спам проверка.
Не
заполняйте это!
{{Docpage}} {{Рейтинг модуля|beta}} UnitTests — модуль для проведения [[Модульное тестирование|юнит-тестов]] других модулей. == Пример использования для модуля [[:en:Module:Bananas]] == Создать подстраницу модуля [[:en:Module:Bananas/tests]]: <syntaxhighlight lang="lua"> -- 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!') end return p </syntaxhighlight> На странице [[:en:Module talk:Bananas/tests]] вставить: <code><nowiki>{{#invoke: Bananas/tests | run_tests}}</nowiki></code> На странице [[:en:Module talk:Bananas/tests]] можно будет увидеть результат выполнения юнит тестов. == Методы модуля == * run_tests(differs_at): запустить тесты. Если указано «differs_at=1», то будет добавлена колонка с указанием позиции первого символа, в котором результат отличается от ожидаемого. Обычно используется на странице обсуждения теста. <pre> {{#invoke:Bananas/tests|run_tests}} </pre> * preprocess_equals(text, expected, <nowiki>[options]</nowiki>): выполнить тест. Аргументы: <code>text</code> — фрагмент викитекста для тестирования; <code>expected</code> — ожидаемый результат. Если <code>options.nowiki=true</code>, то оба результата будут парситься при помощи <code>mw.text.nowiki</code>. <syntaxhighlight lang="lua"> self:preprocess_equals('{{#invoke:Bananas | hello}}', 'Hello, world!') </syntaxhighlight> * preprocess_equals_many(prefix, suffix, cases, <nowiki>[options]</nowiki>): выполнить серию тестов. Аргументы: <code>prefix</code>, <code>suffix</code> — дополнение перед/после викитекста в тестах; <code>cases</code> — список тестов. <syntaxhighlight lang="lua"> self:preprocess_equals_many('{{#invoke:BananasArgs | add |', '}}', { {'2|3', '5'}, {'-2|2', '0'}, }) </syntaxhighlight> * preprocess_equals_preprocess(text, expected, <nowiki>[options]</nowiki>): сравнивает результат двух фрагментов викитекста. Обычно используется для проверки идентичности обычного шаблона и шаблона со скриптом. <syntaxhighlight lang="lua"> self:preprocess_equals_preprocess('{{#invoke:Bananas | hello}}', '{{Hello}}') </syntaxhighlight> * preprocess_equals_preprocess_many(prefix1, suffix1, prefix2, suffix2, cases, <nowiki>[options]</nowiki>): то же, что и <code>preprocess_equals_preprocess</code>, но для серии тестов. Аргументы те же, что и в <code>preprocess_equals_many</code>. <syntaxhighlight lang="lua"> self:preprocess_equals_many('{{#invoke:Foo | spellnum |', '}}', '{{spellnum', '}}', { {'2'}, -- equivalent to {'2','2'}, {'-2', '-2.0'}, }) </syntaxhighlight> * preprocess_equals_sandbox_many(module, function, cases, <nowiki>[options]</nowiki>): несколько раз вызывает внутреннюю функцию preprocess_equals_compare() на серии тестов аналогично preprocess_equals_many. Сравниваются '''три''' версии: актуальная, /песочница и ожидаемый результат теста. <syntaxhighlight lang="lua"> self:preprocess_equals_sandbox_many('{{#invoke:Example', 'hello_to', { {'John', 'Hello, John!'}, {'Jane', 'Hello, Jane!'}, },{nowiki=1}) </syntaxhighlight> * equals(name, actual, expected, <nowiki>[options]</nowiki>): вычислить значение и сравнить с ожидаемым результатом. Обычно используется для тестирования модулей, вызывающих другие модули, без использования #invoke. <syntaxhighlight lang="lua"> self:equals('Simple addition', 2 + 2, 4) </syntaxhighlight> <includeonly>[[Категория:Модули:Базовые]] [[Категория:Модули:Тесты| ]] </includeonly>
Описание изменений:
Пожалуйста, учтите, что любой ваш вклад в проект «Народные Сказки» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см.
РуСказки:Авторские права
).
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!
Отменить
Справка по редактированию
(в новом окне)
Отобразить/Скрыть ограниченную ширину содержимого