我正在开发一个Rails练习。我只需要创建一些用户并让他们登录。创建用户时,我需要发送一个json响应(我知道该怎么做),但我不知道如何使用RSPEC测试该响应是否正确。这是我的尝试:
describe "with correct input" do
before { @user.save }
specify { expect(User.count).to eq(1) }
it "should respond json" do
post '/signup.json', :user => {:name => 'ppppp', :login => '1234567890'}
json = JSON.parse(response.body)
expect(json["user_name"]).to eq('ppppp')
expect(json["login_count"]).to eq('1234567890')
end
end
当我尝试这个时,我得到错误:NoMethodError:undefined method`post'
谢谢!
答案 0 :(得分:0)
这是控制器规格吗?如果是,则将spec文件放在spec/controllers
文件夹下。
默认情况下,Rspec假定控制器规格位于此文件夹下。如果文件不在控制器文件夹中,请将:type => :controller
添加到示例组。
参考Rspec documentation。
希望这有帮助。