All Projects → cucumber → Cucumber Ruby

cucumber / Cucumber Ruby

Licence: mit
Cucumber for Ruby. It's amazing!

Programming Languages

ruby
36898 projects - #4 most used programming language
Gherkin
971 projects

Projects that are alternatives of or similar to Cucumber Ruby

Mycroft Core
Mycroft Core, the Mycroft Artificial Intelligence platform.
Stars: ✭ 5,489 (+7.84%)
Mutual labels:  hacktoberfest
Unitystation
The original unitystation
Stars: ✭ 566 (-88.88%)
Mutual labels:  hacktoberfest
Vetur
Vue tooling for VS Code.
Stars: ✭ 5,421 (+6.5%)
Mutual labels:  hacktoberfest
Rust Rosetta
Implementing Rosetta Code problems in Rust.
Stars: ✭ 563 (-88.94%)
Mutual labels:  hacktoberfest
Opsdroid
🤖 An open source chat-ops bot framework
Stars: ✭ 563 (-88.94%)
Mutual labels:  hacktoberfest
Pyrdp
RDP man-in-the-middle (mitm) and library for Python with the ability to watch connections live or after the fact
Stars: ✭ 567 (-88.86%)
Mutual labels:  hacktoberfest
Beehive
A flexible event/agent & automation system with lots of bees 🐝
Stars: ✭ 5,348 (+5.07%)
Mutual labels:  hacktoberfest
Go
Algorithms Implemented in GoLang
Stars: ✭ 7,385 (+45.09%)
Mutual labels:  hacktoberfest
Typeofnan Javascript Quizzes
JavaScript quiz questions and explanations!
Stars: ✭ 566 (-88.88%)
Mutual labels:  hacktoberfest
Awesome Micro Frontends
An Awesome list of posts, videos and tutorials on Micro Frontends
Stars: ✭ 570 (-88.8%)
Mutual labels:  hacktoberfest
Pezor
Open-Source PE Packer
Stars: ✭ 561 (-88.98%)
Mutual labels:  hacktoberfest
Mtproto
Full-native go implementation of Telegram API
Stars: ✭ 566 (-88.88%)
Mutual labels:  hacktoberfest
Introviews Flutter
☀️ A Flutter package for some material design app intro screens with some cool animations.
Stars: ✭ 570 (-88.8%)
Mutual labels:  hacktoberfest
Controlzex
Shared Controlz for WPF and ... more
Stars: ✭ 561 (-88.98%)
Mutual labels:  hacktoberfest
Oh My Posh2
A theme engine for Powershell inspired by the work done by Chris Benti on PS-Config and Oh-My-ZSH on OSX and Linux (hence the name).
Stars: ✭ 5,046 (-0.86%)
Mutual labels:  hacktoberfest
Cataclysm Dda
Cataclysm - Dark Days Ahead. A turn-based survival game set in a post-apocalyptic world.
Stars: ✭ 5,894 (+15.8%)
Mutual labels:  hacktoberfest
Opennms
Enterprise-Grade Open-Source Network Management Platform
Stars: ✭ 568 (-88.84%)
Mutual labels:  hacktoberfest
Webpacker
Use Webpack to manage app-like JavaScript modules in Rails
Stars: ✭ 5,282 (+3.77%)
Mutual labels:  hacktoberfest
Vuex Persistedstate
💾 Persist and rehydrate your Vuex state between page reloads.
Stars: ✭ 5,561 (+9.25%)
Mutual labels:  hacktoberfest
Flask Empty
An empty project skeleton / boilerplate for flask projects. Powered by CookieCutter.
Stars: ✭ 569 (-88.82%)
Mutual labels:  hacktoberfest

Cucumber Open - Supported by Smartbear

Cucumber

OpenCollective OpenCollective pull requests issues Test cucumber Code Climate Coverage Status

Cucumber is a tool for running automated tests written in plain language. Because they're written in plain language, they can be read by anyone on your team. Because they can be read by anyone, you can use them to help improve communication, collaboration and trust on your team.

Cucumber Gherkin Example

This is the Ruby implementation of Cucumber. Cucumber is also available for JavaScript, Java, and a lot of other languages. You can find a list of implementations here: https://cucumber.io/docs/installation/.

See CONTRIBUTING.md for info on contributing to Cucumber (issues, PRs, etc.).

Everyone interacting in this codebase and issue tracker is expected to follow the Cucumber code of conduct.

Installation

Cucumber for Ruby is a Ruby gem. Install it as you would install any gem: add cucumber to your Gemfile:

gem 'cucumber'

then install it:

$ bundle

or install the gem directly:

$ gem install cucumber

Later in this document, bundler is considered being used so all commands are using bundle exec. If this is not the case for you, execute cucumber directly, without bundle exec.

Supported platforms

  • Ruby 3.0
  • Ruby 2.7
  • Ruby 2.6
  • Ruby 2.5
  • Ruby 2.4
  • Ruby 2.3
  • JRuby (with some limitations)
    • 9.2
    • 9.3 >= 9.3.1 (there is a known issue with JRuby 9.3.0. More info can be found in the PR#1571.)

Ruby on Rails

Using Ruby on Rails? You can use cucumber-rails to bring Cucumber into your Rails project.

Usage

Initialization

If you need to, initialize your features directory with

$ bundle exec cucumber --init

This will create the following directories and files if they do not exist already:

features
├── step_definitions
└── support
    └── env.rb

Create your specification

Create a file named rule.feature in the features directory with:

# features/rule.feature

Feature: Rule Sample

  Rule: This is a rule

    Example: A passing example
      Given this will pass
      When I do an action
      Then some results should be there

    Example: A failing example
      Given this will fail
      When I do an action
      Then some results should be there

Automate your specification

And a file named steps.rb in features/step_definitions with:

# features/step_definitions/steps.rb

Given("this will pass") do
  @this_will_pass = true
end

Given("this will fail") do
  @this_will_pass = false
end

When("I do an action") do
end

Then("some results should be there") do
  expect(@this_will_pass)
end

Run Cucumber

$ bundle exec cucumber

To execute a single feature file:

$ bundle exec cucumber features/rule.feature

To execute a single example, indicates the line of the name of the example:

$ bundle exec cucumber features/rule.feature:7

To summarize the results on the standard output, and writte a HTML report on disk:

$ bundle exec cucumber --format summary --format html --out report.html

For more command line options

$ bundle exec cucumber --help

You can also find documentation on the command line possibilities in features/docs/cli.

Documentation and support

Copyright

Copyright (c) Cucumber Ltd. and Contributors. See LICENSE for details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].