Меню
Главная
Случайная статья
Настройки
|
TemplateTester — шаблон для тестирования других шаблонов. Ограниченно поддерживает вывод диффов, а также
паттерны Lua. Модуль раскрывает тестируемые случаи использования шаблонов, а затем сравнивает с ожидаемым викитекстом или с ожидаемым паттерном.
Первым аргументом необходимо задать путь к модулю, в котором находятся наборы тестов.
Если тесты пройдены, то по умолчанию шаблон выведет лишь надпись о том, что тесты пройдены, со ссылкой на модуль с тестами. Информация о каждом из тестов в этом случае не отображается.
Содержание
Формат
Общий формат:
{{TemplateTester|Модуль:Название модуля/testcases|только проваленные =}}
Примеры использования
Отображать только проваленные тесты для модуля Модуль:CiteGost:
{{TemplateTester|Модуль:CiteGost/testcases|только проваленные = 1}}
Отображать результаты тестирования для модуля Модуль:CiteGost:
{{TemplateTester|Модуль:CiteGost/testcases}}
Пример отображения тестов при наличии неудачных (демо):
{{TemplateTester|Модуль:TemplateTester/demo-failed}}
Пройдено тестов: 4 из 10. Неудачных: 6. Набор тестов 1 (1/3) |
---|
| Тест | Ожидается | Фактически | Разница |
---|
| Тест 1 (с ошибкой)
| Проба ошибки пера | Проба пера | | | Тест 2
| Проба%s+пера 1234567890 | Проба пера 1234567890 | | | Тест 3 (с ошибкой)
Тест с двумя различиями, содержащимися в нём.
| Тест с 2 различиями, которые содержатся в нём. | Тест с двумя различиями, содержащимися в нём. | < 2 > двумя < которые содержатся > содержащимися < содержатся > содержащимися |
Набор тестов 2 (0/3) |
---|
| Тест | Ожидается | Фактически | Разница |
---|
| Тест 4 (с ошибкой)
| Проба ошибка пера | Проба пера | | | Тест 5 (с ошибкой)
<span>Набор слов, но со знаком в конце.</span>
| %w+ | Набор слов, но со знаком в конце. | < %w+ > Набор слов, но со знаком в конце. | | Не задан параметр input | Не задан параметр output или pattern | nil | |
Набор тестов 3 (все успешные) (2/2) |
---|
| Тест | Ожидается | Фактически | Разница |
---|
| Тест 6
| Некоторый текст и [a-zA-Z][a-zA-Z] | Некоторый текст и Ok | | | Тест 7
| Некоторый текст и Ok | Некоторый текст и Ok | |
Набор тестов 4 (1/2) |
---|
| Тест | Ожидается | Фактически | Разница |
---|
| Тест 8
| Некоторый текст и [a-zA-Z][a-zA-Z] | Некоторый текст и Ok | | | Тест 9 (с ошибкой)
| Ok | Некоторый текст и Ok | |
|
Пример отображения только неудачных тестов (демо):
{{TemplateTester|Модуль:TemplateTester/demo-failed|только проваленные=1}}
Формат модуля с тестами
Модуль с тестами должен возвращать таблицу-массив с наборами тестов. Каждый набор тоже представляет собой таблицу-массив, каждый элемент которого является параметрами отдельно взятого теста.
Каждый набор описывается следующими полями:
name — название набора тестов.
tests — массив тестов, принадлежащих набору.
Каждый тест описывается следующими полями:
comment — описание теста или комментарий к нему.
input — тестируемая строка.
output — ожидаемый Викитекст на выходе, который будет получен раскрытием поля input (игнорируется, если задан pattern ).
pattern — паттерн Lua, которому должен соответствовать раскрытый input .
local suite1 = {
{
comment = 'Описание теста 1',
input = [[{{Вызова шаблона|Параметр=значение 1}}]],
-- С указанием результирующего текста:
output = '<span>Раскрытый шаблон 1</span>',
},
{
comment = 'Описание теста 2',
input = [[{{Вызова шаблона|Параметр=значение 2}}]],
-- С указанием паттерна:
pattern = '<span>%w</span>',
},
-- ...
}
local suite2 = {
{
comment = 'Описание теста 3',
input = [[{{Вызова шаблона|Параметр=значение 3}}]],
output = '<span>Раскрытый шаблон 3</span>',
},
{
comment = 'Описание теста 4',
input = [[{{Вызова шаблона|Параметр=значение 4}}]],
output = '<span>Раскрытый шаблон 4</span>',
},
-- ...
}
-- ...
local suites = {
{
name = 'Набор тестов 1',
tests = suite1,
},
{
name = 'Набор тестов 2',
tests = suite2,
},
-- ...
}
return suites
Параметры
В шаблоне указывается путь к модулю с наборами тестов. Дополнительно можно указать параметр, скрывающий успешные тесты.Параметры шаблона[Править данные шаблона] Параметр | Описание | Тип | Статус |
---|
Путь к модулю | 1 | Путь к модулю с наборами тестов.
| Строковый (без форматирования) | обязательный |
---|
Только проваленные | только проваленные | В таблице тестов показывать только проваленные тесты, успешные тесты отображаться не должны.
| Строковый (без форматирования) | предложенный |
---|
|
|