[rspec-users] [ANN] RSpec 0.9.4

aslak hellesoy aslak.hellesoy at gmail.com
Thu May 10 07:53:36 EDT 2007


On 5/10/07, aslak hellesoy <aslak.hellesoy at gmail.com> wrote:
> RSpec 0.9.4 has just been released. Gems haven't rsync'ed around the
> globe yet, so you might have to wait a few hours to install it.
>
> The big news this time is Spec::Ui 0.2.0, which has been released
> along with RSpec core. This RSpec extension gives you custom Watir
> matchers (custom Selenium-RC matchers are not implemented yet).
> Moreover, it comes with a custom KICK ASS formatter that, for each
> failing example, puts a screenshot of your browser - and its HTML
> source - straight into the report. And it all gets embedded into one
> single HTML file.
>
> Spec::Ui is not documented on the website yet (there are some READMEs
> and examples in the source though). But here is the gist of it:
>
> == Install ==
> gem install rspec -r 0.9.4
> gem install spec_ui -r 0.2.0
>
> === Windows users - if you want screenshots ===
> gem install win32screenshot
> Install RMagick (special install procedure)
>
> == Configure ==
>
> === Rakefile ===
> require 'spec/rake/spectask'
>
> desc "Run UI Specs"
> Spec::Rake::SpecTask.new('spec:ui') do |t|
>   t.spec_files = FileList['spec/**/*.rb']
>   t.spec_opts = [
>     '--require', 'spec/spec_helper',
>     '--format', 'Spec::Ui::ScreenshotFormatter:spec_report.html',
>     '--format', 'progress',
>   ]
> end
>
> === spec_helper.rb ===
> # require this file from all your specs under MYAPP/spec/watir or
> MYAPP/spec/selenium
> require 'rubygems'
> require 'spec'
> require 'spec/ui'
> require 'spec/ui/watir'
>
> class Spec::DSL::Behaviour
>   def before_eval
>     # This gives us Watir matchers. Sorry - Selenium-RC users must use
> the low level API
>     include Spec::Matchers::Watir
>   end
> end
>

Actually, use this instead:

Spec::Runner.configure do |config|
  config.include Spec::Matchers::Watir
end

I've also attached a sample report so you can see what it's all about.


> === before and after blocks ===
> All of your specs need some carefully designed before and after blocks:
>
> before(:all) do
>   @browser = Watir::Browser.new
>   #@browser = Selenium::SeleniumDriver.new("localhost", 4444,
> "*safari", "http://www.google.no", 10000)
> end
>
> after(:each) do
>   # This is needed to make screenshots work
>   Spec::Ui::ScreenshotFormatter.browser = @browser
> end
>
> after(:all) do
>   @browser.kill! rescue nil
> end
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: spec_report.html.gz
Type: application/x-gzip
Size: 251020 bytes
Desc: not available
Url : http://rubyforge.org/pipermail/rspec-users/attachments/20070510/6f968dbc/attachment-0001.gz 


More information about the rspec-users mailing list