gpt4 book ai didi

ruby-on-rails - 在 Rails 集成测试中验证 Controller 分配的变量

转载 作者:行者123 更新时间:2023-11-28 20:01:43 26 4
gpt4 key购买 nike

我刚开始使用 Rails,目前我陷入了 Controller 的集成测试。

我正在尝试验证如果用户在表单中提供某些值,Active Record 会生成错误并将这些错误传递给 View 。

我的问题是我不知道如何在集成测试中访问 Controller 分配的变量(例如 - @user)。正如我在 http://guides.rubyonrails.org/testing.html#what-to-include-in-your-functional-tests 中读到的那样我可以访问 @controller、@request、@response 等变量,但我也希望我可以轻松访问 Controller 分配的变量。

不幸的是,例如: * @用户 * @controller.user

真的不行 :-/

最佳答案

Rails 版本 < 5.0

您可以使用assigns 方法以变量名称的符号作为参数来访问这些变量。例如:

assigns(:user) 

从您的 Controller 中为您提供 @user 的值。

Rails 版本 > 5.0

在 rails 5.0 中,assignsassert_templatebeen_depracted , 所以为了像以前一样使用它,你需要添加:

gem 'rails-controller-testing' 

到你的 Gemfile。

Original discussion为什么使用 assigns 是个坏主意。

关于ruby-on-rails - 在 Rails 集成测试中验证 Controller 分配的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4280194/

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