cucover
文件大小: unknow
源码售价: 5 个金币 积分规则     积分充值
资源说明:Lazy coverage-aware running of Cucumber acceptance tests
# Cucover

Cucover is a thin wrapper for [Cucumber](http://github.com/aslakhellesoy/cucumber/tree/master) which makes it lazy.

>> Question:
>> What does it mean for Cucumber to be lazy? 

> Answer:
> It will only run a scenario if it needs to.

How does it decide whether it needs to run a scenario? Every time you run a feature using Cucover, it watches the code in your application that is executed, and remembers. The next time you run Cucover, it skips a scenario if the source files (or the feature itself) have not been changed since it was last run.

## Features

  * Within a feature, Cucover will only re-run the Scenarios that have been affected by your changes
  * Uses RCov to map features to covered source files
  * Patches Rails to also map scenarios to covered .erb view templates
  * Shows skipped Scenarios, for confidence
  * Re-runs failing features, even when nothing has changed, for that good old red-bar feel.
  * Allows you to see which lines of a source file are tested by which scenarios

## Installation and Usage

    sudo gem install mattwynne-cucover --source http://gems.github.com

To run your features lazily, use the cucover binary instead of cucumber:

    cucover -- features/lamb_chops.feature
    
To see what Cucover has already recorded (in the cucover.data file):

    cucover --show-recordings
    
To find out which tests cover which lines of a given source file:

    cucover --coverage_of path/to/some_source_file.rb

## Limitations

  * Anything that runs out of process will not be covered, and therefore cannot trigger a re-run, so if you use Cucumber to drive Selenium, for example, you're out of luck.
  * This is very new and experimental. There may be bugs. Feedback is welcome via github messages.

## Todo
  * Proper args parsing and command-line help
  * Work on a way to include coverage from out-of-process ruby code run during a test
  * Speed up the whole thing by only writing the recordings to disk when the process exits
  * Run code coverage and remove any slop following refactoring
  * Speed up the Rails test - maybe strip some guff out of the environment load?
    
## Similar 'Selective Testing' Tools

  * JTestMe
    * http://xircles.codehaus.org/projects/jtestme 
    * [Agile2008 conference submission](http://submissions.agile2008.org/node/3435)
  * Infinitest
    * http://code.google.com/p/infinitest/ 
    * Contact: [Ben Rady](http://submissions.agile2008.org/node/377)
  * Google Testar
    * http://code.google.com/p/google-testar/
    * Contact: Misha Dmitriev
  * Clover test optimization
    * http://www.atlassian.com/software/clover/features/optimization.jsp
  * JUnitMax
    * a selective testing tool by [Kent Beck](http://www.threeriversinstitute.org/blog)
    * http://junitmax.com/

## Authors
* Matt Wynne 
* Joseph Wilk

本源码包内暂不包含可直接显示的源代码文件,请下载源码包。