【问题标题】:Where does FactoryGirl save db entries in a Rails API app?FactoryGirl 在 Rails API 应用程序中将数据库条目保存在哪里?
【发布时间】:2017-05-16 14:04:47
【问题描述】:

我对 Rails 还很陌生,目前正在创建我的第一个仅 API 的 rails 应用程序。

我苦苦思索的是,测试环境中的条目究竟存储在哪里?在完整的 Rails 应用程序中,FactoryGirl 会将条目存储在 _test 数据库中并传递给控制器​​ - 通过 RSpec 之类的东西进行测试。

我了解,在 Rails API 应用程序中,您不使用数据库,而是打算在服务器上以 JSON 格式存储数据 - 但在我编写请求规范的情况下,信息存储在哪里/从...获得?没有服务器(本地或远程)来保存数据!?

为我的新手问题道歉!

【问题讨论】:

    标签: ruby-on-rails rspec-rails


    【解决方案1】:

    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
    

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

    【讨论】:

      【解决方案2】:

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

      不。那将是愚蠢的。 Rails API 应用程序是一个常规的 Rails 应用程序(带有数据库等)。只有它可以减少 html 视图渲染(ERB 等)。这是主要区别。

      【讨论】:

        猜你喜欢
        • 2021-03-21
        • 1970-01-01
        • 1970-01-01
        • 2010-09-08
        • 1970-01-01
        • 2011-09-01
        • 2021-05-19
        • 2011-09-22
        相关资源
        最近更新 更多