====== RSpec ======
SC
http://redmine.fireho.com/attachments/download/40/nofxx_-_rspec.mov
===== Outros SC (inglês) =====
Story Driven Development
http://goruco2008.confreaks.com/01_helmkamp.html
http://www.railsenvy.com/2007/10/4/how-i-learned-to-love-testing-presentation
===== links =====
http://blog.davidchelimsky.net/articles/2007/05/14/an-introduction-to-rspec-part-i
http://rspec.info/
http://rspec.info/rdoc/
http://eigenclass.org/hiki.rb?rcov
Rspec rails:
http://snippets.dzone.com/posts/show/4721
Stories:
http://tomtenthij.co.uk/2008/1/25/rspec-plain-text-story-runner-on-a-fresh-rails-app
http://evang.eli.st/blog/2007/9/1/user-stories-with-rspec-s-story-runner
====== autotest ======
http://www.nomedojogo.com/2008/06/17/autotest-notification-doom-edition/
http://szeryf.wordpress.com/2007/07/30/way-beyond-cool-autotest-growl-doomguy/
===== Hash additions =====
# ##
# rSpec Hash additions.
#
# From
# * http://wincent.com/knowledge-base/Fixtures_considered_harmful%3F
# * Neil Rahilly
class Hash
##
# Filter keys out of a Hash.
#
# { :a => 1, :b => 2, :c => 3 }.except(:a)
# => { :b => 2, :c => 3 }
def except(*keys)
self.reject { |k,v| keys.include?(k || k.to_sym) }
end
##
# Override some keys.
#
# { :a => 1, :b => 2, :c => 3 }.with(:a => 4)
# => { :a => 4, :b => 2, :c => 3 }
def with(overrides = {})
self.merge overrides
end
##
# Returns a Hash with only the pairs identified by +keys+.
#
# { :a => 1, :b => 2, :c => 3 }.only(:a)
# => { :a => 1 }
def only(*keys)
self.reject { |k,v| !keys.include?(k || k.to_sym) }
end
end
===== Object Daddy =====
Bye fixtures!
http://github.com/flogic/object_daddy/tree/master
//../spec/exemplars/objeto_exemplar.rb//
class Objeto < ActiveRecord::Base
generator_for :nome, "Manoel foi pro ceu"
generator_for :nunico, :method => :next
self.next
@last ||= 1
@last += 1
end
end
Using:
Objeto.generate => Objeto.create(:nome => "Manoel....")
Objeto.generate! => Objeto.create!.....
Objeto.spawn => Objeto.new...
===== Growl =====
**THIS IS OLD.. USE NOTIFICATION GEM**
fail.png
{{fail.png|}}
pass.png
{{pass.png|}}
#require 'autotest/growl'
require 'autotest/html_report'
# require 'autotest/kdenotify'
require 'autotest/menu'
#require 'autotest/pretty'
require 'autotest/redgreen'
# require 'autotest/snarl'
require 'autotest/timestamp'
module Autotest::Growl
def self.growl pass, title, msg, img, pri=0, sticky=""
system "growlnotify -n #{pass} --image #{img} -p #{pri} -m #{msg.inspect} #{title} #{sticky}"
end
Autotest.add_hook :initialize do |at|
growl "autotest", "Rodando..", "Started autotest", ''
end
Autotest.add_hook :ran_command do |at|
output = at.results.last.gsub!(/(\e\[3\dm)|(\e\[0m)|(\n)/, '') unless at.results.last.nil?
if output =~ /[1-9]\sfailures?/
growl "epic", "BURRO!", "#{output}", ".autotest_images/fail.png", 2, "-s"
else
growl "autotest", "GO GO GO", "#{output}", ".autotest_images/pass.png",2
end
end
end
==== Links ====
http://ph7spot.com/articles/getting_started_with_autotest