问题描述
我正在处理一个团队项目,我们都是 rswag 的新手,我们使用 JWT 令牌作为身份验证,并且主要使用基本的类似 crud 的控制器。 我很难弄清楚 rswag,我应该记录什么,不记录什么,我们已经用 rspec 完成了测试文件。 我有一个 /api/activities 端点,其中 GET 请求将返回一个包含一系列活动的 JSON 响应,我的问题是,我希望我的 rswag“尝试一下”选项返回我 5 个活动或其他内容,并且我有尝试为此使用 factoryBot 但无济于事(我已经在 rspec 文件中完成了此操作,我只是不知道如何正确与 rswag 交互,将创建命令放在哪里,是否在测试数据库中创建数据或在我的开发数据库中,它显示的是来自我的开发数据库还是测试数据库的数据?)
无论如何,如果你们中一些更有经验的人可以为我提供一个很好的指导,我将非常感激,并帮助我返回一系列带有“尝试一下”选项的活动。这是我目前所拥有的。
require 'swagger_helper'
RSpec.describe '../integration/api/activities',type: :request do
describe 'Activities' do
path '/api/activities' do
get 'Lists all activities' do
tags 'activities'
produces 'application/json'
let(:create_activities) { create_list(:activity,10) }
response '200','lists activities' do
let(:id) { Activity.first.id }
schema type: :object,properties: {
activities: {
type: :array,items: {
properties: {
id: { type: :integer },name: { type: :string },content: { type: :string },image: { type: :string }
},required: %w[id name content]
}
}
}
run_test!
end
end
end
end
end
你建议我如何解决这个问题?你会怎么做?这里没有真正的“失败”场景,你要么得到一个充满活动的数组,要么得到一个空数组,这个端点不使用授权。 我的控制器有一个基本的
@activities = Activity.all
render json: @activities
此外,这是我目前的 swagger_helper.rb。
require 'rails_helper'
RSpec.configure do |config|
config.swagger_root = Rails.root.join('swagger').to_s
config.swagger_docs = {
'v1/swagger.yaml' => {
openapi: '3.0.1',info: {
title: 'API V1',version: 'v1'
},paths: {},servers: [
{
url: 'http://localhost:3000',variables: {
defaultHost: {
default: 'www.example.com'
}
}
}
]
}
}
config.swagger_format = :yaml
end
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)