ruby-on-rails - 使用 Rails 中的 RSpec 测试控制器中的实例变量
问题描述
嗨,我对 rspec 如何在控制器中调用测试实例变量有点困惑,所以在控制器中我有
class CoursesController < ApplicationController
def index
@courses = Course.all
end
在 rspec 我有
describe CoursesController, :type => :controller do
it 'assigns correct variable' do
@fake_result = [double('movie')]
expect(@fake_result).to eq(@fake_result)
Course.stub(:all).and_return(@fake_result)
get :index
expect assigns(:courses).to eq(@fake_result)
end
end
我收到错误消息,例如
undefined method `>=' for #<RSpec::Matchers::BuiltIn::Eq:0x00007ff7086b4d18>
似乎在 callassigns(:courses)
中,:course
不是指动作索引中的实例变量,而是指字符串“course”,我在这里做错了什么。
任何帮助将不胜感激
解决方案
推荐阅读
- django - 使用 Celery (Django) 的动态、预定推送通知
- flutter - 即使使用 #/page 加载 URL,Flutter Web 也会首先加载初始页面
- c# - 通过控制台应用程序设置作业时如何访问hangfire仪表板
- python - 为什么 Django 代码不会反映在网站中
- javascript - 一个元素不会完全停留在另一个元素之上
- python - 使用 Selenium 从网站提取 SSL 证书详细信息 - Chrome 驱动程序
- webrtc - webrtc 和视频聊天系统是否需要通过 https 提供服务?
- python-3.x - 使用 PyMC3 时出现 Theano 错误:theano.gof.fg.MissingInputError
- java - 如何配置嵌入式码头以使用可执行jar中的war文件作为资源
- javascript - 我自己的包中的npm包babel错误