Skip to content
This repository has been archived by the owner on Mar 12, 2021. It is now read-only.

Commit

Permalink
Выделение 1testrunner в отдельную библиотеку #31
Browse files Browse the repository at this point in the history
  • Loading branch information
artbear committed Aug 26, 2016
1 parent 483ad10 commit 59797da
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 109 deletions.
5 changes: 5 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,8 @@
[submodule "src/json"]
path = src/json
url = https://github.com/oscript-library/json.git

[submodule "src/1testrunner"]
path = src/1testrunner
url = https://github.com/oscript-library/1testrunner.git
branch = master
1 change: 1 addition & 0 deletions src/1testrunner
Submodule 1testrunner added at 07dfa0
6 changes: 3 additions & 3 deletions tests/finder.os
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

Программа = ОбъединитьПути(КаталогПрограммы(), "oscript.exe");
ЮнитТестер = ОбъединитьПути(ТекущийСценарий().Каталог, "testrunner.os");
Библиотека = ОбъединитьПути(ТекущийСценарий().Каталог, "..\src");
Библиотека = ОбъединитьПути(ТекущийСценарий().Каталог, "..", "src");
ЮнитТестер = ОбъединитьПути(Библиотека, "1testrunner", "testrunner.os");

СодержимоеБиблиотеки = НайтиФайлы(Библиотека, ПолучитьМаскуВсеФайлы());

Expand Down Expand Up @@ -44,5 +44,5 @@
КонецЕсли;

КонецЕсли;

КонецЦикла;
110 changes: 4 additions & 106 deletions tests/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,114 +6,12 @@

oscript finder.os

Для запуска тестов используется скрипт `testrunner.os`.
Для запуска тестов используется скрипт `1testrunner\testrunner.os` из проекта [1testrunner](https://github.com/oscript-library/1testrunner/)

Скрипт выполняет последовательный прогон тестов, переданных в командной строке.

Скрипт `finder.os` выполняет поиск тестов проекта и последовательно прогоняет тесты для каждого найденного файла, запуская `testrunner.os`
Скрипт `finder.os` выполняет поиск тестов проекта и последовательно прогоняет тесты для каждого найденного файла, запуская `1testrunner\testrunner.os`

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

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

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

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

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

"C:\Program Files (x86)\OneScript\oscript.exe" "ПутьStart\testrunner.os" -runall "ТекущийКаталог" xddReportPath "ТекущийКаталог"

или

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

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

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

oscript tests\testrunner.os [-command] testfile|testdir [test-id|test-number] [-option [optionData]]


### Виды команд

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

### Виды режимов

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

### Примеры:

* `oscript tests\testrunner.os -show testfile` - вывод списка тестов
* `oscript tests\testrunner.os testfile` или `oscript tests\testrunner.os -run testfile` - запуск всех тестов из файла
* `oscript tests\testrunner.os -run testfile 5` или `oscript tests\testrunner.os testfile 5` - запуск теста №5
* `oscript tests\testrunner.os -run testfile "Тест1"` или `oscript tests\testrunner.os testfile "Тест1"`- запуск теста с именем Тест1

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

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

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

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

```
Перем юТест;
// основной метод для тестирования
Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт
юТест = ЮнитТестирование;
ВсеТесты = Новый Массив;
ВсеТесты.Добавить("ТестДолжен_ПроверитьВерсию");
Возврат ВсеТесты;
КонецФункции
Процедура ТестДолжен_ПроверитьВерсию() Экспорт
юТест.ПроверитьРавенство("0.1", Версия());
КонецПроцедуры
Функция Версия() Экспорт
Возврат "0.1";
КонецФункции
```

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

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

Методы:

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

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

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

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

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

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

или

"C:\Program Files (x86)\OneScript\oscript.exe" "$(CURRENT_DIRECTORY)\testrunner.os" -run "$(FULL_CURRENT_PATH)"

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

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

"C:\Program Files (x86)\OneScript\oscript.exe" "$(CURRENT_DIRECTORY)\testrunner.os" -runall "$(CURRENT_DIRECTORY)"
Описание механизмов тестирования с примерами смотрите в каталоге [`1testrunner\readme.md`](https://github.com/oscript-library/1testrunner/blob/master/readme.md)

0 comments on commit 59797da

Please sign in to comment.