Статус Порога Качества Покрытие Строки кода GitHub release Build Status Build status Build Status

Организовано приемочное тестирование, аналогичное тестированию 1C в проекте xUnitFor1C

Основные принципы работы с тестами для скриптов OneScript описаны в официальной документации OneScript

Использование тестирования (выдержка из документации OneScript)

Пример запуска всех приемочных тестов

Проверить все файлы текущего каталога из командной строки (с паузой, если есть упавшие тесты):

cmd /c C:\Projects\1script\tests\start-all.cmd .

Проверить все файлы текущего каталога из командной строки (без паузы, если есть упавшие тесты):

1testrunner -runall "ТекущийКаталог" xddReportPath "ТекущийКаталог"

или

cmd /c C:\Projects\1script\tests\start-all.cmd . notpause

Запуск тестов

Формат командной строки:

1testrunner [-command] testfile|testdir [test-id|test-number] [-option [optionData]]

или

oscript <каталог 1testrunner>/src/main.os [-command] testfile|testdir [test-id|test-number] [-option [optionData]]

Виды команд

  • -show - вывод доступных тестов с именами тестов и номерами тестов по порядку объявления
  • -run - прогон всех тестов из файла теста или одного конкретного теста, уточненного по номеру или наименованию
  • -runall - прогон всех тестов из каталога, в т.ч. и из вложенных каталогов

Виды режимов

  • xddReportPath - формировать отчет тестирования в формате junit-xml
    • [optionData] - полный или относительный путь к каталогу, где формировать файл *.xml

Примеры:

  • 1testrunner -show testfile - вывод списка тестов

  • 1testrunner testfile или 1testrunner -run testfile - запуск всех тестов из файла

  • 1testrunner -run testfile 5 или 1testrunner testfile 5 - запуск теста №5

  • 1testrunner -run testfile "Тест1" или 1testrunner testfile "Тест1"- запуск теста с именем Тест1

  • 1testrunner -runall tests - запуск всех тестов из каталога tests

  • 1testrunner -runall tests xddReportPath . - запуск всех тестов из каталога tests и формирование отчета тестирования в формате junit-xml

Формат скриптов-тестов

Тесты находятся в каталоге tests

Пример скрипта-теста находится в tests\example-test.os :

#Использовать asserts

Перем юТест;

// основной метод для тестирования
Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт

	юТест = ЮнитТестирование;

	ВсеТесты = Новый Массив;

	ВсеТесты.Добавить("ТестДолжен_ПроверитьВерсию");

	Возврат ВсеТесты;
КонецФункции

Процедура ТестДолжен_ПроверитьВерсию() Экспорт
	Утверждения.ПроверитьРавенство("0.1", Версия());
КонецПроцедуры

Функция Версия() Экспорт
	Возврат "0.1";
КонецФункции

Механизм работы с временными файлами

В 1testrunner встроен механизм работы с временными файлами. Удобен для автосоздания и автоудаления файлов после выполнения тестов. Вызывать через юТест.

Методы:

  • ИмяВременногоФайла() - возвращается имя временного файла и имя фиксируется для дальнейшего удаления
  • УдалитьВременныеФайлы() - удаляются все зарегистрированные ранее временные файлы
    • Удобно этот метод использовать в 'ПослеЗапускаТеста'

Пример использования методов находятся в тесте temp-files.os

Запуск тестирования из Notepad++

Для прогона тестов из текущего открытого файла скрипта

в Notepad++ (в т.ч. и для плагина NppExec) можно использовать следующую команду:

cmd.exe /c C:\Projects\1script\tests\start.cmd "$(FULL_CURRENT_PATH)"

или

1testrunner -run "$(FULL_CURRENT_PATH)"

В случае ошибок в тестах/файле будет выдано окно консоли с описанием ошибки.

Пример запуска всех приемочных тестов

1testrunner -runall "$(CURRENT_DIRECTORY)"

Доступные версии пакета

1.8.0
Изменен: 06.05.2020 12:59:41
1.7.0
Изменен: 30.04.2019 15:18:12
1.6.0
Изменен: 02.01.2019 19:48:30
1.5.3
Изменен: 02.01.2019 19:48:30
1.5.2
Изменен: 02.01.2019 19:48:30
1.5.1
Изменен: 02.01.2019 19:48:30
1.5.0
Изменен: 02.01.2019 19:48:30
1.4.3
Изменен: 02.01.2019 19:48:30
1.4.1
Изменен: 02.01.2019 19:48:30
1.2
Изменен: 02.01.2019 19:48:30
1.1
Изменен: 02.01.2019 19:48:30
1.0
Изменен: 02.01.2019 19:48:30
В разработке

Репозиторий

https://github.com/oscript-library/1testrunner

Актуальная версия

1testrunner-1.8.0