gpt4 book ai didi

ruby-on-rails - 这可能在 Controller 测试中吗?

转载 作者:行者123 更新时间:2023-11-28 21:10:30 24 4
gpt4 key购买 nike

在我的用户 Controller 中,我有一个新页面/方法的 before_action。这个 before_action 包括:

@organization = Organization.friendly.find(params[:id])

在我的用户装置中,我有一个organization: one 用于用户@admin,在我的组织装置中,我有这个组织“one”的记录。我的 Controller 测试仍然在上面的行中失败并显示消息:

ActiveRecord::RecordNotFound: Couldn't find Organization without an ID

这是为什么?是否无法在 Controller 测试中执行此操作,我应该改用集成测试吗?如果我可以使用 Controller 测试(我在这里更喜欢),我的代码有什么问题?


Controller 测试:

  test "should get new" do
log_in_as("user", @admin) # Test helper that functions properly
get :new # It fails here on the before_action defined in the users controller.
assert_response :success
end

最佳答案

您希望有 params[:id],但您没有传递它。尝试

test "should get new" do
log_in_as("user", @admin)
get :new, id: 1 # or any other
assert_response :success
end

您需要更改您的 before_action 过滤器或更新您的测试。

关于ruby-on-rails - 这可能在 Controller 测试中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31029117/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com