1 +Скрипт <b>TestRunner</b> (testrunner.js)
2 +
3 +Скрипт для автоматического выполнения юнит-тестов других скриптов-аддинов разработчиками.
4 +
5 +В настоящий момент скрипт умеет следующее:
6 +<ul>
7 +<li>Загружать в дерево как отдельный тестовый скрипт, так и все тестовые скрипты из выбранного каталога.</li>
8 +<li>Выполнять пакетно автоматически тесты с подсчетом статистики и выводом диагностических сообщений.</li>
9 +<li>Выполнять подсчет выполненных/проваленных тестов.</li>
10 +</ul>
11 +
12 +<h3>Зависимости</h3>
13 +Скрипт основан на пулярной библиотеке юнит-тестирования для JavaScript [http://jsunit.net] и использует для своей работы ее порт для Снегопата, который также находится в репозитории: [/finfo?name=Libs/jsUnitCore.js|Libs/jsUnitCore.js].
14 +
15 +Эта же библиотека рекомендуется авторам скриптов как библиотека для написания тестов.
16 +
17 +<h3>Требования к скриптам-тестам</h3>
18 +
19 +Тестовый скрипт должен в имени файла иметь префикс "test". Это необходимо, чтобы TestRunner мог различать, какие скрипты в каталоге являются тестовыми, а какие - вспомогательными, которые загружать не надо.
20 +
21 +Тест-кейсы - это макросы, т.е. функции с префиксом macros, но дополненным словом "Test". Другие макросы и функции из скрипта считаются служебными и не загружаются в дерево тестов.
22 +
23 +Никаких других специальных требований к тестовым скриптам и их содержимому не предъявляются.
24 +
25 +<h3>Примеры тестовых скриптов</h3>
26 +
27 +Полноценные реальные тестовые скрипты, предназначенные для выполнения при помощи TestRunner'а, находятся в подкаталоге Tests\Automated каталога scripts.
28 +
29 +Ниже приводится в качестве примера простейший тестовый скрипт.
30 +
31 +Имя файла: textExampleTest.js
32 +
33 +<pre>$engine JScript
34 +$uname ExampleTest
35 +$dname Пример тестового скрипта
36 +$addin stdlib
37 +
38 +// Подключаем библиотеку jsUnitCore.js
39 +stdlib.require('jsUnitCore.js', SelfScript);
40 +
41 +function macrosTest2plus2()
42 +{
43 + assertEquals("Операция сложения не работает!", 4, 2 + 2);
44 +}</pre>
45 +
46 +<h3>Полезные ссылки</h3>
47 +<ul>
48 +<li>[/finfo?name=DevTools/testrunner.js|История версий скрипта]</li>
49 +<li>[http://jsunit.net/|Документация по jsUnit]</li>
50 +</ul>
51 +
52 +
53 +