ruby-on-rails - SystemStackError:测试我的rails api answer_controllers时堆栈级别太深
问题描述
当我rspec
在本地终端上运行以测试我的answer_controllers
. 我已经检查了这个平台内外的相关问题,但没有一个能解决我的问题。
测试失败:
Failures:
1) Answers shows all answers
Failure/Error: @answers = current_user.answers
SystemStackError:
stack level too deep
./app/controllers/answers_controller.rb:6:in `index'
./spec/requests/answers_spec.rb:14:in `block (2 levels) in <main>'
./spec/rails_helper.rb:57:in `block (3 levels) in <top (required)>'
./spec/rails_helper.rb:56:in `block (2 levels) in <top (required)>'
2) Answers displays answer information
Failure/Error: @answers = current_user.answers
SystemStackError:
stack level too deep
./app/controllers/answers_controller.rb:6:in `index'
./spec/requests/answers_spec.rb:19:in `block (2 levels) in <main>'
./spec/rails_helper.rb:57:in `block (3 levels) in <top (required)>'
./spec/rails_helper.rb:56:in `block (2 levels) in <top (required)>'
require 'rails_helper'
RSpec.describe 'Answers', type: :request do
before(:example) do
@user = User.create(username: 'test_user', password: '1234')
@answer = Answer.create(answer: 'the definition of sandwich is
two or more slices of bread or a split
roll having a filling in between', question_id: 1, user_id: 1)
token = JWT.encode({ user_id: @user.id }, Rails.application.secret_key_base)
@headers = { Authorization: "Bearer #{token}" }
end
it 'shows all answers' do
get '/api/v1/answers', headers: @headers
expect(response).to have_http_status(:ok)
end
it 'displays answer information' do
get "/api/v1/answers/#{@answer.id}", headers: @headers
expect(response).to have_http_status(:ok)
end
end
请我需要有关如何解决此问题的信息或提示...
解决方案
推荐阅读
- r - “使用 R 从 API 中提取数据”的后续内容
- r - 在 R 中绘制三角函数
- ionic-framework - 每个页面上唯一的 Ion-title,所有页面上相同的可点击项目
- path - 从终端运行 jupyter-notebook 调用错误的脚本
- sql-server - 在 linux 上使用 BCP 从 csv 文件插入数据失败,没有输出
- excel - Excel:带有 IF 和 ISERR 的 SUMPRODUCT 显示 #VALUE
- c# - 如何下载存储应用程序的文件?
- node.js - Web socket 在其他机器上打不开
- html - 制作导航栏 两个不同的东西,中间没有背景
- c - 从 CCS 中的引脚读取模拟值