FactoryGirl在Rails API应用程序中保存数据库条目的位置是什么?

时间:2017-05-16 14:04:48

标签: ruby-on-rails rspec-rails

我对rails非常陌生,而且我目前正在创建我的第一个仅限API的应用程序。

我努力解决的问题是测试环境中存储条目的确切位置是什么?在完整的rails应用程序中,FactoryGirl会将条目存储在_test数据库中并传递给控制器​​ - 通过类似RSpec的测试。

据我所知,在rails API应用程序中,您首先要使用数据库,而是将数据以JSON格式存储在服务器上 - 但在我编写请求规范的情况下,其中从中存储/检索的信息?没有服务器(本地或远程)来保存数据!?

为我的新手问题道歉!

2 个答案:

答案 0 :(得分:0)

JSON只是用于从客户端和服务器进行通信的格式,而后向发生的格式。但是数据也存储在数据库中。这是我在rails api项目中编写的一个保存类别的规范(它是一个请求规范)。

context 'everything is ok' do
  it 'gets a successfull response' do
    params = { category: category }.to_json
    post "/categories", headers: headers.merge("X-Api-Key" => partner.token), params: params

    json = JSON.parse(response.body)
    expect(json['success']).to be true
    expect(json['category']['name']).to eq 'Programming Languages'
  end
end

只是为了给你一个想法,我不是专业测试,我也是在学习。

答案 1 :(得分:0)

  

而是旨在以服务器上的JSON格式存储数据

不。那太傻了。 Rails API应用程序是一个常规的rails应用程序(带有数据库和诸如此类的东西)。只有它可以减少html视图渲染(ERB等)。这是主要区别。