Rails3 自动测试环境 shoulda + watchr

对于测试我一直写的很烂,RSPEC曾经看过,不过到头也没写出什么好的测试,最近发现了shouda,看到写法很简单,例如:

  class PostTest < Test::Unit::TestCase
    should belong_to(:user)
    should have_many(:tags).through(:taggings)

    should validate_uniqueness_of(:title)
    should validate_presence_of(:body).with_message(/wtf/)
    should validate_presence_of(:title)
    should validate_numericality_of(:user_id)
  end

相比 RSPEC的写法,我比较喜欢这种写法,自动测试,用的最多的还是autotest,不过autotest在我mac 10.6.4上居然有这样那样的问题,发现watchr,所说是速度更快,更方便,于是便拿来一试。

 

1.安装所需的gem

sudo gem install watchr
#mac 要安装
sudo gem install ruby-fsevent

#Linux/BSD 要安装
sudo gem install rev

#安装shoulda
sudo gem install shoulda

 

  2.修改Gemfile,执行bundle:install

  
group :test do 
  gem 'shoulda'
end

 

 3.实现watchr 自动化测试,watchr的自动化方法是监视文件,例如

  watch('test/.*/.*_test\.rb') { |m| run_test_file(m[0]) }

    所以我们要有个文件 ,如果是RSPEC的话,要用这个文件 spec.watchr

   Test/Unit可以使用这个 tests.watchr

   例如,我把文件 放到项目根目录下/tests.watchr

 

 4.安装 growl,实现提示功能,

    下载 :http://growl.info/

     安装 Extras/growlnotify/growlnotify.pkg

 5.复制附件二张图片(可自己随便找二张)到

  
~/.watchr_images/pass.png
 ~/.watchr_images/fail.png
 

 

 6.要进行自动测试,只要运行

  watchr tests.watchr
   

 

------- 继续打标记: 转载注明: javaeye-- doabit.. ----------------------------

你可能感兴趣的:(linux,Ruby,rspec)