使用过Rails框架的同学都知道,Rails自带有单元测试模块,新建的app在默认下都会创建.test文件夹,包含需要的大部分文件和文件夹,可是,单元测试有很多局限性。因此在很多rails项目中都使用Rspec+FacotrGirl进行测试。本文主要讲解如何在rails项目中搭建Rspec测试环境。
搭建测试环境的步骤和注意事项:
【注】该资料是基于rails3.2.13和rspec-rails2.12.2验证整理的。
step1:install rails
$ gem install rails -v '3.2.13'
step2:createa new app
$ rails new test_file
$ cd test_file
step3:add rspec-rails to gemfile
该gem包在app的开发环境和测试环境下使用。
$ echo 'gem “rspec-rails”, :group => [:development, :test]' >> Gemfile
step4:install rspec-rails
$ bundle install
step5:bootstrap rspec
引导Rspec,执行下面的命令会创建spec目录,spec_helper.rb文件,helper.rb文件和.rspec文件
$ rails generate rspec:install
step6:generate a scaffold
$ rails g sacffold Students name:string age:integer sex:integer address:text
$ rake db:migrate
step7:Run Rspec
运行测试有一下方式:
$ bundle exec rake rspec # 运行所有测试
$ bundle exec rake rspec spec/models #运行所有models测试
$ bundle exec rake rspec spec/models/student_spec.rb #运行某个测试。