80 lines
2.3 KiB
Markdown
80 lines
2.3 KiB
Markdown
# cuke-pack
|
|
|
|
Common Cucumber setups to make things go fast and smooth.
|
|
|
|
## Install it
|
|
|
|
``` ruby
|
|
# Gemfile
|
|
|
|
gem 'cuke-pack'
|
|
```
|
|
|
|
``` bash
|
|
bundle exec cuke-pack install
|
|
```
|
|
|
|
This will overwrite your `config/cucumber.yml` file with one that plugs in nicely with Guard. It also adds a new config file in
|
|
`features/support/cuke-pack.rb`.
|
|
|
|
## Specifying the driver
|
|
|
|
If you have other Capybara drivers installed like Poltergeist of persistent_selenium, you can specify the driver as an
|
|
environment variable:
|
|
|
|
``` bash
|
|
DRIVER=poltergeist bundle exec cucumber
|
|
```
|
|
|
|
## Confirming JavaScript
|
|
|
|
If you need to confirm an `alert()` or `confirm()`, you can do so in your step with `confirm_js`. Just replaces
|
|
`window.alert` and `window.confirm` with functions that return true.
|
|
|
|
## Step Writer
|
|
|
|
Enables [cucumber-step_writer](http://github.com/johnbintz/cucumber-step_writer) for you.
|
|
|
|
## Flay your steps
|
|
|
|
I can get duplicate code in my steps pretty quickly. Sometimes I flay them to see where the duplicates are and then I
|
|
factor out the common code.
|
|
|
|
## Hijacking `@wip`
|
|
|
|
I personally think the original use of `@wip` in Cucumber is silly. Why would you commit non-working
|
|
features to the source repository? So this project re-purposes `@wip` to let you focus your Cucumber test
|
|
runs on a single feature and work on it until it runs:
|
|
|
|
### Guard
|
|
|
|
If you're using Guard for continuous testing, install the `wip` guard:
|
|
|
|
``` bash
|
|
bundle exec cuke-pack wip-guard
|
|
```
|
|
|
|
You can then use Guard to only run scenarios with the tag `@wip`:
|
|
|
|
``` bash
|
|
bundle exec guard -g wip
|
|
```
|
|
|
|
### Precommit
|
|
|
|
If you run tests before committing your code with a tool like [penchant](http://github.com/johnbintz/penchant),
|
|
you can configure your tests to run using the `precommit` profile. This one ensures that there are no
|
|
`@wip` scenarios. It also lets you skip certain features/scenarios that are tagged `@no-precommit`. Good for
|
|
turning off tests that you haven't needed to touch in a while. Just be careful with it!
|
|
|
|
## Other things
|
|
|
|
You can easily enable FakeFS, Mocha, and Timecop if you need them. Turn them on in `cuke-pack.rb` and then use
|
|
the right tag on your scenario.
|
|
|
|
## Old things
|
|
|
|
There's some stuff that is so deprecated that I'll remove it eventually, once all my other offending projects
|
|
don't use them anymore. You shouldn't use them either.
|
|
|