【问题标题】:Test JSON response of a POST Rails测试 POST Rails 的 JSON 响应
【发布时间】:2014-10-04 07:30:29
【问题描述】:

我正在用 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'

谢谢!!

【问题讨论】:

    标签: ruby-on-rails json post rspec


    【解决方案1】:

    这是控制器规格吗?如果是,spec 文件是否放在spec/controllers 文件夹下。

    默认情况下,Rspec 假定控制器规范位于此文件夹下。如果文件不在控制器文件夹中,请将 :type => :controller 添加到示例组。

    请参阅 Rspec documentation

    希望这会有所帮助。

    【讨论】:

    • 谢谢!它在 spec/models 文件夹中。如何添加:type =>:controller?我不知道该写在哪里。再次感谢您!
    • 尝试将其添加到描述方法中,如果不起作用请谷歌它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-03
    • 2013-09-12
    • 2018-11-22
    • 2019-02-19
    • 2022-01-20
    • 2012-04-10
    相关资源
    最近更新 更多