Skip to content

Commit

Permalink
Merge branch 'release/1.5.3'
Browse files Browse the repository at this point in the history
  • Loading branch information
artbear committed May 24, 2018
2 parents 089e1e5 + 2133894 commit d416534
Show file tree
Hide file tree
Showing 26 changed files with 316 additions and 136 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,4 @@ tests/junit-log.xml
bdd-log.xml
tests.xml
bdd-lib.xml
.scannerwork/
77 changes: 77 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
sudo: required

notifications:
email: false
env:
global:
- CHANNEL=dev

services:
- docker

# dist: trusty

addons:
sonarqube: true

jdk:
- oraclejdk8

before_install:
# Load cached docker images
- if [[ -d $HOME/docker ]]; then ls $HOME/docker/*.tar.gz | xargs -I {file} sh -c "zcat {file} | docker load"; fi

before_cache:
# Save tagged docker images
- >
mkdir -p $HOME/docker && docker images -a --filter='dangling=false' --format '{{.Repository}}:{{.Tag}} {{.ID}}'
| xargs -n 2 -t sh -c 'test -e $HOME/docker/$1.tar.gz || docker save $0 | gzip -2 > $HOME/docker/$1.tar.gz'
install:
- docker pull evilbeaver/onescript:$OSCRIPT_DOCKER_TAG

cache:
directories:
- '$HOME/.m2/repository'
- '$HOME/.sonar/cache'
- '$HOME/docker'
jobs:
include:
- stage: Тестирование
script:
- docker version
- docker run -it -v $(pwd):/work_dir evilbeaver/onescript:$OSCRIPT_DOCKER_TAG sh -c 'cd /work_dir; sh /work_dir/travis-ci.sh; exit' | tee /tmp/test.log
- grep 'Результат прогона тестов <Да>' /tmp/test.log
- grep 'Результат прогона основных фич <Да>' /tmp/test.log
- grep 'Результат прогона библиотечных фич <Да>' /tmp/test.log
after_success:
- bash <(curl -s https://codecov.io/bash)
- bash ./travis-sonarqube.sh

# - stage: Сборка и публикация github & hub.oscript.io
# script: skip
# before_deploy:
# # - sh -c 'opm build ./ ; exit'
# - docker run -it -v $(pwd):/work_dir evilbeaver/onescript:$OSCRIPT_DOCKER_TAG sh -c 'cd /work_dir; opm build ./ ; exit'
# deploy:
# - provider: releases
# api_key: "$GITHUB_OAUTH_TOKEN"
# file_glob: true
# file: 1bdd*.ospx
# skip_cleanup: true
# on:
# branch: master
# tags: true
# - provider: script
# skip_cleanup: true
# # script: sh -c 'opm push --token $GITHUB_OAUTH_TOKEN --channel dev --file ./1bdd-*.ospx; exit'
# script: docker run -it -v $(pwd):/work_dir evilbeaver/onescript:$OSCRIPT_DOCKER_TAG sh -c 'cd /work_dir; opm push --token $GITHUB_OAUTH_TOKEN --channel dev --file ./1bdd-*.ospx; exit'
# on:
# branch: develop
# - provider: script
# skip_cleanup: true
# # script: sh -c 'opm push --token $GITHUB_OAUTH_TOKEN --channel stable --file ./1bdd-*.ospx; exit'
# script: docker run -it -v $(pwd):/work_dir evilbeaver/onescript:$OSCRIPT_DOCKER_TAG sh -c 'cd /work_dir; opm push --token $GITHUB_OAUTH_TOKEN --channel stable --file ./1bdd-*.ospx; exit'
# on:
# branch: master
# tags: true
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
# 1BDD для OneScript

[![GitHub release](https://img.shields.io/github/release/artbear/1bdd.svg)](https://github.com/artbear/1bdd/releases) [![Build Status](http://build.oscript.io/buildStatus/icon?job=oscript-library/1bdd/develop)](http://build.oscript.io/job/oscript-library/job/1bdd/job/develop/) [![Build status](https://ci.appveyor.com/api/projects/status/vbnk445352crljjn?svg=true)](https://ci.appveyor.com/project/artbear/1bdd)
[![Build Status](https://travis-ci.org/artbear/1bdd.svg?branch=develop)](https://travis-ci.org/artbear/1bdd)
[![Quality Gate](https://sonar.silverbulleters.org/api/badges/gate?key=opensource-1bdd)](https://sonar.silverbulleters.org/dashboard?id=opensource-1bdd)
[![Tech Debt](https://sonar.silverbulleters.org/api/badges/measure?key=opensource-1bdd&metric=sqale_debt_ratio)](https://sonar.silverbulleters.org/dashboard?id=opensource-1bdd)

[![Join the chat at https://gitter.im/artbear/1bdd](https://badges.gitter.im/artbear/1bdd.svg)](https://gitter.im/artbear/1bdd?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) Здесь вы можете задавать любые вопросы разработчикам и активным участникам.

Expand Down
16 changes: 10 additions & 6 deletions features/core/Hooks.feature
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@
Как Разработчик
Я Хочу, чтобы у меня была возможность использовать хуки ПередЗапускомСценария/ПослеЗапускаСценария в файлах шагов

Контекст: Подготовка файла фичи "ПроверкаХуков"
Когда я подготовил тестовый каталог для фич
Сценарий: Проверка выполнения хуков

# Контекст: Подготовка файла фичи "ПроверкаХуков"
Дано я подготовил тестовый каталог для фич
И установил тестовый каталог как текущий
И я создал файл фичи "ПроверкаХуков" с текстом
"""
Expand All @@ -17,15 +19,17 @@
И я запустил генерацию шагов фичи "ПроверкаХуков"
И я получил сгенерированный os-файл "ПроверкаХуков" в ожидаемом каталоге

Сценарий: Проверка выполнения хуков
# Сценарий: Проверка выполнения хуков

Тогда проверка поведения фичи "ПроверкаХуков" закончилась с кодом возврата 1
И я подставил файл шагов фичи "ПроверкаХуков" из каталога "tests/fixtures"
И проверка поведения фичи "ПроверкаХуков" закончилась с кодом возврата 0
И текст файла-журнала равен ";ПередЗапускомСценария-Запись в файл журнала;ШагСценария;ПослеЗапускаСценария-Запись в файл журнала"

Контекст: Подготовка файла фичи "ПроверкаХуков" с наличием контекста
Когда я подготовил тестовый каталог для фич
Сценарий: Выполнение контекста после хука ПередЗапускомСценария

# Контекст: Подготовка файла фичи "ПроверкаХуков" с наличием контекста
Дано я подготовил тестовый каталог для фич
И установил тестовый каталог как текущий
И я создал файл фичи "ПроверкаХуков" с текстом
"""
Expand All @@ -39,7 +43,7 @@
И я запустил генерацию шагов фичи "ПроверкаХуков"
И я получил сгенерированный os-файл "ПроверкаХуков" в ожидаемом каталоге

Сценарий: Выполнение контекста после хука ПередЗапускомСценария
# Сценарий: Выполнение контекста после хука ПередЗапускомСценария

Тогда проверка поведения фичи "ПроверкаХуков" закончилась с кодом возврата 1
И я подставил файл шагов фичи "ПроверкаХуков" из каталога "tests/fixtures"
Expand Down
20 changes: 13 additions & 7 deletions features/core/OneScriptRunner.feature
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,20 @@

Сценарий: Выполнение команды без параметров
Когда Я выполняю команду "oscript"
Тогда Вывод команды "oscript" содержит "Version"
И Код возврата команды "oscript" равен 0
Тогда я вижу в консоли вывод "Version"
И Код возврата равен 0

Сценарий: Выполнение команды с параметрами в одной строке
Когда Я выполняю команду "oscript" c параметрами "-version"
Тогда Я сообщаю вывод команды "oscript"
И Вывод команды "oscript" содержит "."
И Код возврата команды "oscript" равен 0
Сценарий: Выполнение команды с параметрами в одной строке раздельно
Когда Я выполняю команду "oscript" с параметрами "-version"
Тогда Я показываю вывод команды
И я вижу в консоли вывод "."
И Код возврата равен 0

Сценарий: Выполнение команды с параметрами в одной строке слитно
Когда Я выполняю команду "oscript -version"
Тогда Я показываю вывод команды
И я вижу в консоли вывод "."
И Код возврата равен 0

Сценарий: Выполнение команды с параметрами, добавляемыми раздельно
Когда Я добавляю параметр "-version" для команды "oscript"
Expand Down
9 changes: 7 additions & 2 deletions features/core/ВыполнениеФич.feature
Original file line number Diff line number Diff line change
Expand Up @@ -35,16 +35,18 @@

Тогда проверка поведения фич с передачей параметра "" из каталога "." закончилась с кодом возврата 0

Контекст: Каталог проекта устанавливаю как текущий
Допустим установил каталог проекта "tests/fixtures" как текущий
# Контекст: Каталог проекта устанавливаю как текущий
# Допустим установил каталог проекта "tests/fixtures" как текущий

Сценарий: После ошибочного шага следующие шаги сценария не выполняются
Допустим установил каталог проекта "tests/fixtures" как текущий
Тогда проверка поведения фичи "ПадающийШаг" закончилась с кодом возврата 2
И в лог-файле запуска продукта есть строка "ЯЗапускаюПадающийШагСПараметром-Первый падающий шаг"
И в лог-файле запуска продукта отсутствует строка "ДоЭтогоШагаВыполнениеДойтиНеДолжно"
И в лог-файле запуска продукта есть строка "2 Шаг ( 0 Пройден, 0 Не реализован, 1 Сломался, 1 Не выполнялся )"

Сценарий: При указании ключа быстрого останова на первой ошибке выполнение останавливается на первом же упавшем сценарии
Допустим установил каталог проекта "tests/fixtures" как текущий
Тогда проверка поведения фичи "ПадающиеСценарии" с передачей параметра "-fail-fast" закончилась с кодом возврата 2
И в лог-файле запуска продукта есть строка "ЯЗапускаюПадающийШагСПараметром-Первый падающий шаг из первого сценария"
И в лог-файле запуска продукта отсутствует строка "Второй неверный сценарий"
Expand All @@ -53,6 +55,7 @@
И в лог-файле запуска продукта есть строка "6 Шаг ( 0 Пройден, 0 Не реализован, 1 Сломался, 5 Не выполнялся )"

Сценарий: Без указания ключа быстрого останова на первой ошибке выполнение не останавливается на первом же упавшем сценарии
Допустим установил каталог проекта "tests/fixtures" как текущий
Тогда проверка поведения фичи "ПадающиеСценарии" с передачей параметра "" закончилась с кодом возврата 2
И в лог-файле запуска продукта есть строка "ЯЗапускаюПадающийШагСПараметром-Первый падающий шаг из первого сценария"
И в лог-файле запуска продукта есть строка "Второй неверный сценарий"
Expand All @@ -61,9 +64,11 @@
И в лог-файле запуска продукта есть строка "6 Шаг ( 0 Пройден, 0 Не реализован, 3 Сломался, 3 Не выполнялся )"

Сценарий: Прогон фич из каталога при наличии падающих фич выдает правильный код возврата
Допустим установил каталог проекта "tests/fixtures" как текущий
Тогда проверка поведения фич с передачей параметра "" из каталога "." закончилась с кодом возврата 2

Сценарий: Проверка лога при запуске нереализованного шага сценария
Допустим установил каталог проекта "tests/fixtures" как текущий
Когда я подготовил тестовый каталог для фич
И установил тестовый каталог как текущий
И я создал файл фичи "НесуществующийШаг" с текстом
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
| Библиотечные шаги находятся в одном файле | -require ПередачаПараметров.feature |
| Автоматическая загрузка всех шагов как библиотечных из каталога фичи | |

Структура сценария: Перегенерация шагов в случае существования файла шагов - <Сценарий>
Структура сценария: Перегенерация шагов в случае существования файла шагов - <Сценарий>

# Когда я подготовил тестовый каталог для фич
# И установил тестовый каталог как текущий
Expand All @@ -40,14 +40,14 @@
Тогда я получил сгенерированный os-файл "ПередачаПараметров" в ожидаемом каталоге
И проверка поведения фичи "ПередачаПараметров" закончилась с кодом возврата 0

Примеры:
Примеры:
| Сценарий | ПараметрКоманднойСтроки |
| Библиотечные шаги находятся в одном файле | -require ПередачаПараметров.feature |
| Автоматическая загрузка всех шагов как библиотечных из каталога фичи | |

Контекст:
Структура сценария: Первичная генерация - <Сценарий>

Когда я подготовил тестовый каталог для фич
Допустим я подготовил тестовый каталог для фич
И установил тестовый каталог как текущий
И я создал еще один каталог "lib"
И установил каталог "lib" как текущий
Expand All @@ -63,7 +63,7 @@
Тогда я получаю параметр "Минимальный"
"""

Структура сценария: Первичная генерация - <Сценарий>
# Структура сценария: Первичная генерация - <Сценарий>

Когда я запустил генерацию шагов фичи "ФичаБезШагов" с передачей параметра <ПараметрКоманднойСтроки>
Тогда я не получил сгенерированный os-файл "ФичаБезШагов" в ожидаемом каталоге
Expand Down
49 changes: 3 additions & 46 deletions features/core/Контекст.feature
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@

Тогда я получаю значение "ЗначениеВКонтексте" от исполнителя

Структура сценария: Проверяю передачу параметров
Сценарий: Проверяю передачу параметров

Тогда я получаю значение <ЗначениеВКонтексте> от исполнителя
И Я сохранил значение <Значение> в исполнителе
Тогда я получаю значение "ЗначениеВКонтексте" от исполнителя
И Я сохранил значение "Еще одно значение" в исполнителе
И я получаю значение "Еще одно значение" от исполнителя
И Я сохранил значение в исполнителе
"""
Expand All @@ -30,46 +30,3 @@
Когда я передаю параметр 5
Тогда я передаю параметр 5
"""

Примеры:
| ЗначениеВКонтексте | Значение |
| ЗначениеВКонтексте | Еще одно значение |

Контекст:
Допустим Я сохранил значение "НовоеЗначениеВКонтексте" в исполнителе

Структура сценария: Проверяю передачу параметров для второго контекста

Тогда я получаю значение <ЗначениеВКонтексте> от исполнителя
И Я сохранил значение <Значение> в исполнителе
И я получаю значение "Другое значение" от исполнителя
И Я сохранил значение в исполнителе
"""
# language: ru
Функционал: Библиотечные шаги
Сценарий: Использование шагов из другой фичи
Когда я передаю параметр 5
Тогда я передаю параметр 5
"""

Примеры:
| ЗначениеВКонтексте | Значение |
| НовоеЗначениеВКонтексте | Другое значение |

Сценарий: Первый сценарий второго контекста

Тогда я получаю значение "НовоеЗначениеВКонтексте" от исполнителя
И Я сохранил значение "НовоеЗначение" в исполнителе
И я получаю значение "НовоеЗначение" от исполнителя

Сценарий: Второй сценарий второго контекста

Тогда я получаю значение "НовоеЗначениеВКонтексте" от исполнителя

Контекст: Без начального шага
Простое описание контекста, которое приводило к зависанию
И Я сохранил значение "ЗначениеВКонтекстеШаг2" в исполнителе

Сценарий: Первый сценарий

Тогда я получаю значение "ЗначениеВКонтекстеШаг2" от исполнителя
Loading

0 comments on commit d416534

Please sign in to comment.