黄瓜是_admin?测试

发布于 2024-12-18 11:02:48 字数 767 浏览 0 评论 0原文

我不知道把这篇文章放在哪里,但这个主题更类似于 我的问题。

我有陈腐的登录系统,如下所示:

应用程序控制器: 包括SessionHelper

私有

helper_method :current_user

def current_user @current_user ||= User.find(session[:user_id]) if session[:user_id] 结尾

会话助手: def is_admin? @current_user && @当前用户.id == 1 结束

features/support/env.rb: 世界(SessionsHelper)

所以,如果我测试

is_admin?.should be_true

它返回:

预期 nil 为 true (RSpec::Expectations::ExpectationNotMetError) ./features/step_definitions/users/add_user.rb:23:in /^我应该 登录$/' features/users/add_user.feature:13:in我应该登录,

但我登录了!为什么?测试认证系统的方法是什么 划痕?

I don't know where to put this post, but theme of this more similar to
my issue.

I have trite signin system, like this:

ApplicationController:
include SessionsHelper

private

helper_method :current_user

def current_user
@current_user ||= User.find(session[:user_id]) if session[:user_id]
end

SessionsHelper:
def is_admin?
@current_user && @current_user.id == 1
end

features/support/env.rb:
World(SessionsHelper)

So, if I test

is_admin?.should be_true

it returns:

expected nil to be true (RSpec::Expectations::ExpectationNotMetError)
./features/step_definitions/users/add_user.rb:23:in /^I should
signin$/'
features/users/add_user.feature:13:in
And I should signin'

But I signed in! Why? What's the way to test authentication system from
scratch?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

面如桃花 2024-12-25 11:02:48

我不知道该把这篇文章放在哪里,但是这个主题更类似于
我的问题。
黄瓜邮件列表是:
http://groups.google.com/group/cukes

但我可以告诉你,你的问题是一个范围问题。你的is_admin?
方法
添加到黄瓜世界的用户无法访问您的
应用
控制器的@current_user变量。

I don't know where to put this post, but theme of this more similar to
my issue.
The cucumber mailing list is:
http://groups.google.com/group/cukes

But I can tell you that your problem is a scope issue. Your is_admin?
method
that is added to cucumber's world does not have access to your
application
controller's @current_user variable.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文