Cucumber

15
Что такое огурец? Кулинич Наталья, QASQUAD

Transcript of Cucumber

Page 1: Cucumber

Что такое огурец?

Кулинич Наталья,QASQUAD

Page 2: Cucumber

Что такое Cucumber?

Cucumber (Wikipedia) -

приложение для запуска

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

тестов, написанных в стиле BDD.

Page 3: Cucumber

Установка Cucumber

Сначала надо установить Ruby и

RubyGems, а затем выполнить

команду для установки Cucumber

gem install cucumber

Page 4: Cucumber

Пример Feature

Feature: In order to check a calculator As a regular user I want ...Scenario: Checking that calc works fine// StepsScenario: Checking something else// Steps

Page 5: Cucumber

Пример Сценария

Scenario: Checking that calc works fineGiven I have a calculatorWhen I press 5And I press +And I press 6And I press =Then I should see 11

Page 6: Cucumber

Как работает Cucumber

Cucumber

Щюнхишрр StepDefinitions1 2

When I press 5When /^I press (\d+)$/ do |digit| @calculator.pressed digitend

@calculator.pressed digit

3

@calculator.value.should == expected_value

Page 7: Cucumber

Синтаксис Шаблоны сценариев.

Scenario Outline: testing different calculatorsGiven I have a calculator "<calculator brand>"When I press 5+5=Then I should see <result>

Examples:|calculator brand|result||Casio |10 ||Sony |10 ||Broken One |5 |

Page 8: Cucumber

Как готовить Cucumber

Шаг 1. Пишем сценарий.

Scenario: Check the calc button "5" Given I have a calculator When I press 5 Then I should see 5

Page 9: Cucumber

Как готовить CucumberШаг 2. Реализовываем step definitions

Given /^I have a calculator$/ do @calc = Calculator.newend

When /^I press (\d+)$/ do |digit| @calc.pressed digitend

Then /^I should see (\d+)$/do |value| @calc.screenvalue.should == valueend

Page 10: Cucumber

Как готовить CucumberШаг 3. Пишем код.class Calculator def initialize @screen = "" end def pressed digit @screen += digit end def screenvalue @screen endend

Page 11: Cucumber

Как готовить CucumberШаг 4. Запускаем и радуемся.

Scenario: Check the calc button "5" Given I have a calculator When I press 5 Then I should see 5

1 scenario (1 passed)3 steps (3 passed)0m0.033s

Page 12: Cucumber

Наглядный результат Различные форматы отчетов (HTML, PDF, сonsole, свой формат)

Page 13: Cucumber
Page 14: Cucumber

Тестирование web-продукта

Для тестирования программы в браузере необходимо подключение нескольких модулей: 1. Библиотека Watir

2. Паттерн Page Object

Page 15: Cucumber

СсылкиСайт проекта:cukes.info

Wiki проекта:github.com/cucumber/cucumber/wiki

Огурец для ниндзя (Рекомендовано!):cuke4ninja.com