RSpec测试

#保证测试数据干净没有污染

gem 'database_cleaner', '~> 1.5.3'

gem 'rspec-rails', '~> 3.5'

#rails 5之后测试的时候把controller给分离出来了,需要单独引入这个gem

gem 'rails-controller-testing'

bundle之后,

运行rspec的初始化命令   rails g rspec:install

      create  .rspec   # 修改一下 在文件中添加 可以在终端打印出每一个测试用例  -f  d  
      create  spec     #
      create  spec/spec_helper.rb #为了保证测试数据的纯净,在文中添加代码

  config.before(:suite) do
    DatabaseCleaner.clean_with(:truncation)
  end 
  config.before(:each) do
    DatabaseCleaner.start
  end 
  config.after(:each) do
    DatabaseCleaner.clean
  end

      create  spec/rails_helper.rb #

配置完成了。

所有的单元测试都需要放在spec的目录下面。

如果测试contrroller在spec的目录下新建一个controller就好了。

比如:users_controller_spec.rb

  1 require 'rails_helper'     
  2                            
  3 describe UsersController do
  4 
  5   context "signup" do      
  6     it "should failed" do  
  7       post :create, params: { user: { email: '18866666@163.com' } }
  8       expect(response).to render_template("new")
  9     end                    
 10 
 11     it "should success" do 
 12       post :create, params: { user:   
 13         {                  
 14           email: '123@example.com',    
 15           password: '666666',
 16           password_confirmation: '666666' 
 17         }                  
 18       }
 19       expect(response).to redirect_to(new_session_path)
 20     end                    
 21   end
 22 
 23 end




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值