Предыдущие версии
Название | Размер | Обновлено | Версия игры | Загрузок | |
1.1.21 release | 6.67 KB | Nov 20, 2014 | 6.0.3 | 845 | Скачать |
1.1.14 release | 5.98 KB | Oct 13, 2010 | 4.0.1 | 973 | Скачать |
1.0.9 release | 4.60 KB | Feb 7, 2009 | 3.0.8 | 914 | Скачать |
1.0.6 release | 4.33 KB | Feb 7, 2009 | 3.0.8 | 269 | Скачать |
1.0.4 release | 4.00 KB | Feb 7, 2009 | 3.0.8 | 224 | Скачать |
1.0 release | 3.90 KB | Jan 27, 2009 | 3.0.8 | 286 | Скачать |
r21 alpha | 6.62 KB | Nov 20, 2014 | 6.0.3 | 65 | Скачать |
r20 alpha | 6.80 KB | Aug 9, 2012 | 5.0.4 | 68 | Скачать |
r19 alpha | 5.94 KB | Aug 7, 2012 | 5.0.4 | 33 | Скачать |
r18 alpha | 6.16 KB | Oct 31, 2010 | 4.0.1 | 78 | Скачать |
r17 alpha | 5.99 KB | Oct 27, 2010 | 4.0.1 | 51 | Скачать |
r16 alpha | 5.89 KB | Oct 27, 2010 | 4.0.1 | 49 | Скачать |
r14 alpha | 5.92 KB | Oct 2, 2010 | 4.0.1 | 38 | Скачать |
r13 alpha | 5.84 KB | Sep 23, 2010 | 4.0.1 | 42 | Скачать |
r12 alpha | 4.29 KB | Jul 6, 2009 | 3.1.0 | 43 | Скачать |
r11 alpha | 4.19 KB | Apr 14, 2009 | 3.1.0 | 27 | Скачать |
r9 alpha | 4.55 KB | Feb 7, 2009 | 3.0.8 | 43 | Скачать |
r8 alpha | 4.45 KB | Feb 7, 2009 | 3.0.8 | 19 | Скачать |
r6 alpha | 4.28 KB | Feb 7, 2009 | 3.0.8 | 23 | Скачать |
r4 alpha | 3.96 KB | Feb 7, 2009 | 3.0.8 | 18 | Скачать |
r2 alpha | 3.87 KB | Jan 27, 2009 | 3.0.8 | 17 | Скачать |
Описание
WoWUnit-это платформа модульного тестирования, которую разработчики аддонов используют при создании аддонов.
Что такое модульное тестирование?
(цитата из Википедии: http://en.wikipedia.org/wiki/Unit_testing)
В компьютерном программировании модульное тестирование — это метод тестирования, который проверяет правильность работы отдельных блоков исходного кода. Модуль-это самая маленькая тестируемая часть приложения. В процедурном программировании единицей может быть индивидуальная программа, функция, процедура и т. д., В то время как в объектно-ориентированном программировании наименьшей единицей является метод, который может принадлежать базовому/суперклассу, абстрактному классу или производному/дочернему классу.
Особенности
WoWUnit содержит следующие функции:
- Позволяет разработчикам аддонов создавать и выполнять наборы тестов.
- Позволяет моделировать вызовы WoW API, позволяя разработчику создавать фиктивные функции, которые переопределяют вызовы API во время тестов.
- Методы настройки и демонтажа в наборе тестов можно использовать для определения согласованного контекста, в котором выполняются тесты.
- Включает регрессионное тестирование, помогая гарантировать, что готовые фрагменты кода будут нарушены недавним изменением.
- Консольный пользовательский интерфейс, который не мешает разработке каких-либо аддонов.
Использование
Разработчики должны сначала сделать WoWUnit необязательной зависимостью для своего аддона. Затем они могут создать тестовый набор и зарегистрировать его в WoWUnit. Наборы тестов можно запустить, набрав на консоли «/wowunit <Test suite>». Затем WoWUnit запустит тесты и отобразит результаты в окне консоли.
Наборы тестов содержат один или несколько тестов, а также дополнительные функции настройки и демонтажа, а также таблицу mocks для определения глобальных функций и переменных, которые должны быть высмеяны во время тестов.
Пример
Ниже приведен простой пример набора тестов:
местные SampleSuite = { издевается = { UnitName = функция(аргумент) возвращение " Soandso"; конец; }; настройки = функция() return {}; end; tearDown = функция() -- нет необходимости срывать конец; testExample = функция() assert(UnitName ("player") = = "Soandso", "ожидаемое имя игрока должно быть "Soandso""); конец; testFailure = функция() утверждаю(UnitName("игрок") == "Feithar", "ожидается имя игрока, чтобы быть 'Feithar'"); конец; }
Таблица mocks определяет любые глобальные функции, которые будут издеваться. В этом случае мы хотим, чтобы функция API UnitName возвращала имя «Soandso», когда мы запускаем наш тест, независимо от того, какой аргумент передается в функцию. Издевательские функции будут сброшены обратно к тому, как они были первоначально определены после каждого запуска теста.
Функция setup должна возвращать таблицу,которая будет передана в качестве аргумента во все тестовые случаи, определенные в наборе. Любая настройка, которая должна быть выполнена, должна быть помещена здесь и будет выполнена до запуска каждого теста в наборе. Функция демонтажа также будет выполняться после каждого теста в наборе.
Записи mock, setupи teardown в наборе тестов являются необязательными и не нуждаются в определении, если они не нужны.
Любая функция, определенная в наборе, имя которой начинается с «test», будет считаться тестом, который должен быть выполнен как часть набора. В этом случае у нас есть два теста: testExample и testFailure. testExample проверяет, является ли имя игрока «Soandso». Поскольку мы определили макетную функцию выше, чтобы заменить стандартную функцию WoW API UnitName, этот тест должен пройти, даже если наше имя персонажа не «Soandso». testFailure должен потерпеть неудачу, даже если разработчик вошел в WoW как Feither, так как издевательская функция UnitName сообщит, что имя игрока действительно «Soandso».
Один тестовый набор определен, он должен быть зарегистрирован в WoWUnit со следующей строкой кода:
WoWUnit:AddTestSuite("WoWUnitExample", WoWUnitTests);
Это регистрирует набор и называет его «WoWUnitExample». Теперь набор можно запустить в игре, набрав в окне чата следующее:
/wowunit WoWUnitExample
Затем WoWUnit запустит тесты и отобразит вывод в главном окне чата:
WoWUnit: запуск 2 тестов из пакета wowunitexample... WoWUnit: FAILED: WoWUnitExample:testFailure WoWUnit: Интерфейс\Аддонс\WoWUnit\WoWUnitTests.Луа:23: ожидается имя игрока, чтобы быть 'Feithar' WoWUnit: прошел 1 из 2 тестов.
Добавить комментарий