RSpec on rails 手记

回眸只為那壹抹淺笑 提交于 2019-12-03 11:55:14

 

环境:ruby 1.8.7 rails 2.3.5 

 

1. 安装msysgit并将D:\dev\msysgit\msysgit\bin给环境变量,否则以下的git插件不能安装

2. 安装haml:

1) gem install haml

2)  config.gem "haml" ->config/environment.rb

3. 安装rspec

1) gem install rspec

2) gem install git

3) ruby script/plugin install git://github.com/dchelimsky/rspec.git

注:有的时候插件安装不成功,注意看提示,如果没有,就说明没有成功

4. 安装rspec-rails

1) gem install rspec-rails

2) ruby script/plugin install git://github.com/dchelimsky/rspec-rails.git

注:有的时候插件安装不成功,注意看提示,如果没有,就说明没有成功

3) ruby script/generate rspec

4) spec_server 1.2.9开始就没有,要自己下载https://github.com/dchelimsky/spec_server

5. 安装rspec-on-rails-matchers(如果想要)

1)ruby script/plugin install git://github.com/joshknowles/rspec-on-rails-matchers.git

6. mysql的问题

1) mysql gem的安装,要先下载两个

http://files.rubyforge.vm.bytemark.co.uk/mysql-win/mysql-2.8.1-x86-mswin32.gem

http://rubyforge.org/frs/download.php/72167/rdoc-2.5.11.gem

手动安装

gem install rdoc-2.5.11.gem

gem install mysql-2.8.1-x86-mswin32.gem

要求先装rdoc,不然mysql不能正确安装

2) mysql的libmysql.dll,由于5.0以上的版本mysql的libmysql.dll文件并不能很好的支持rails,所以必须

http://instantrails.rubyforge.org/svn/trunk/InstantRails-win/InstantRails/mysql/bin/libmySQL.dll

下载后,放入ruby\bin\目录下。

 

BDD方法:

1.ruby script\generate rspec

2.ruby script\generate rspec_model user

3.修改spec/models/user_spec.rb

4.rake db:create:all

5.rake db:migrate

6.rake db:test:prepare

7.修改config/environments/test.rb为config.cache_classes = false(原来是true)

8.打开spec服务ruby script/spec_server  

9.gem install win32console(后面提示要装的,但发现装了没有什么用)

10.rspec --drb spec\models\user_spec.rb (这样测试就速度多了)

 

已经安装好后:

1)rails -d mysql project

2) ruby script/plugin install git://github.com/dchelimsky/rspec.git

ruby script/plugin install git://github.com/dchelimsky/rspec-rails.git

3)ruby script\generate rspec

4)修改config/environments/test.rb为config.cache_classes = false(原来是true)

5)copy spec_server ./script/

6)打开spec服务ruby script/spec_server

 

好,可以写程序和使用rspec来进行BDD式编程了

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!