Rails - 使用format.js的Rspec 3控制器操作

bob*_*obb 3 rspec ruby-on-rails ruby-on-rails-4

我在为仅响应js的控制器动作编写rspec测试时遇到了一些麻烦.

控制器动作示例:

def create
 @user = user.new(user_params)

 respond_to do |format|
   if user.save
     format.js
   end
 end
end
Run Code Online (Sandbox Code Playgroud)

如果控制器操作响应html,我会写一些rspec:

context 'with valid attributes' do
  it 'creates a new user' do
    expect {
      post :create, user: build(:user)
    }.to change(User,:count).by(1)
  end
Run Code Online (Sandbox Code Playgroud)

我试图找出如何编写类似的测试,但使其与格式js一起工作.

谢谢!

小智 10

用这个 xhr :post, :create, user: build(:user)

  • 更新的方式是`post:create,xhr:true,...` (7认同)