我对rails非常陌生,而且我目前正在创建我的第一个仅限API的应用程序。
我努力解决的问题是测试环境中存储条目的确切位置是什么?在完整的rails应用程序中,FactoryGirl会将条目存储在_test数据库中并传递给控制器 - 通过类似RSpec的测试。
据我所知,在rails API应用程序中,您首先要使用数据库,而是将数据以JSON格式存储在服务器上 - 但在我编写请求规范的情况下,其中从中存储/检索的信息?没有服务器(本地或远程)来保存数据!?
为我的新手问题道歉!
答案 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等)。这是主要区别。